假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除


 1 #include<stdio.h>
 2 void fun(char *p,int n)
 3 {
 4     int i,j;
 5     char *ch,*ch1;
 6     ch=ch1=p;            
 7     i=j=0;
 8     while(*ch!='\0')    //遍历到数组最后位置
 9         ch++;
10     ch--;            //删除'\0'的位置
11     while(*ch=='*') //计算*号的个数
12     {
13         i++;
14         ch--;
15     }
16     if(n<i)
17     {                //判断当前给的值和这个计数的关系
18         while(*ch1&&ch1<=ch+n)    //将数组下标元素移到需要截断的位置
19             ch1++;
20         *ch1='\0';
21     }
22 }
23 int main()
24 {
25     char str[100];
26     int num;
27     gets(str);
28     scanf("%d",&num);
29     fun(str,num);
30     puts(str);
31 
32 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM