首页 > 其他分享 >除了字符串前导的*号之外,将串中其它*号全部删除

除了字符串前导的*号之外,将串中其它*号全部删除

时间:2024-09-15 09:54:59浏览次数:9  
标签:字符 删除 ++ void fun 字符串 前导 out

要求

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。
例如,字符串中的内容为:-****A*BC*DEF*G******,删除后,字符串中的内容应是:****ABCDEFG.

解题思路

本题的考核点是公式算法本题的考核点是删除字符串中字符的算法。解题思路:从字符串的第一个字符开始往后逐个判断是否为*号,直到找到非*号字符为止,将非*字符前移,最后在该字符后面加上结束符号’\0’。

代码 

#include <stdio.h>
void  fun( char *a )
{
  /* 以下代码仅供参考 */
  int i=0,k;
  while(a[i]=='*') i++;
  k=i;
  while(a[i]!='\0')  /* 以下程序段实现非*字符前移 */
  {
	  if(a[i]!='*')
	  {
		  a[k]=a[i];
		  k++;
		
	  }	
	    i++;
  }
  a[k]='\0';
}

main()
{  char  s[81];void NONO ();
   printf("Enter a string:\n");gets(s);
   fun( s );
   printf("The string after deleted:\n");puts(s);
   NONO();
   getchar();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *in, *out ;
  int i ; char s[81] ;
  in = fopen("in.dat","r") ;
  out = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(in, "%s", s) ;
    fun(s) ;
    fprintf(out, "%s\n", s) ;    
  }
  fclose(in) ;
  fclose(out) ;
}

结果截图

标签:字符,删除,++,void,fun,字符串,前导,out
From: https://blog.csdn.net/A_hard_August/article/details/142268167

相关文章

  • 字符串哈希&线段树维护字符串哈希
    本文哈希数组均为1-index,原始字符串均为0-index。哈希值类typedefunsignedlonglongull;ullbs=13131,bspw[MAXN];inlinevoidinit_bspw(){bspw[0]=1;for(inti=1;i<MAXN;i++)bspw[i]=bspw[i-1]*bs;}structHashNode{ullval;intlen;......
  • 字符串处理
    概念理解c风格字符串字符数组大小比字符串多一个chars[6]={'H','e','l','l','o','\0'};chars[]="Hello";用法1.存储方式及赋值'\0'占用存储空间,不计入长度作为变量使用时,不可s="hellow"s1=s2只可以逐个字符赋值sscanf(s,&......
  • 【网易低代码】第3课,页面表格删除功能
    你好!这是一个新课程CodeWave网易低代码通过自然语言交互式智能编程,同时利用机器学习,帮助低代码开发者进一步降低使用门槛、提高应用开发效率【网易低代码】第3课,页面表格删除功能1.拖拽组件link链接到表格中,修改文安为删除2.绑定按钮事件3.绑定删除功能下期课程预......
  • 字符串处理工具类
    字符串处理工具类importjava.util.Arrays;publicclassStringUtils{/***将字符串反转*@paramstr要反转的字符串*@return反转后的字符串*/publicstaticStringreverseString(Stringstr){returnnewStringBuilder(str......
  • 【YashanDB知识库】yasql对字符串中分号的判定
    本文转载自YashanDB官网,具体内容请见https://www.yashandb.com/newsinfo/7352673.html?templateId=1718516问题现象这个问题发生在从pg向崖山进行数据迁移的过程中,通过pg\_dump将数据导出到文件后进行执行,第一条语句执行报错,在pg上执行是不会报错的,在崖山和oracle上执行均报错。与......
  • K8S怎么删除一个Node节点
    驱逐Pod本次node为172.16.5.103#kubectldrain172.16.5.103--force--ignore-daemonsets--delete-local-data使用参数--delete-local-data删除本地挂载数据查看该节点无法调度删除node#kubectldeletenode172.16.5.103重新设置为可调度#kubectluncordon172.16.5.103......
  • android 删除系统原有的debug.keystore,系统运行的时候,重新生成新的debug.keystore,来完
    1、先上一个图:这个是keystore无效的原因之前在安装这个旧版本androidstudio的时候呢,安装过一版最新的androidstudio,然后通过模拟器跑过测试的demo。2、运行旧的项目到模拟器的时候,就报错了:Executionfailedfortask':app:packageDebug'.>Afailureoccurredwhilee......
  • 如何删除硬盘efi系统分区
    https://zhidao.baidu.com/question/1250926144652523819.htmlU盘或者硬盘被做了系统安装盘。结果在格式化都是失败,分区也不行。有了新招EFI分区是您的系统启动引导的分区,存放引导启动的文件的,因此它是一个操作系统独立的分区,实际上它是UEFI加载的固件和应用程序的存储空间,但是很......
  • LeetCode 2390. 从字符串中移除星号(字符串、栈)
    题目:2390.从字符串中移除星号思路:使用栈就可以,这里string也可以实现栈的效果classSolution{public:stringremoveStars(strings){stringe="";for(autox:s){if(x=='*')e.pop_back();elsee.push_back(x);......
  • git 查找大文件、删除大文件详细步骤
    如在使用Git过程中不小心将较大的二进制文件加入仓库,那么仓库大小很快就会超过规定的配额,在Push的时候会报下面的错误:remote:PoweredbyGITEE.COM[GNK-6.4]remote:error:File:c91e5de4f55bedd0669db01036fc131ea8e516ce380.66MB,exceeds100.00MB.remote:Usecomma......