假定輸入的字符串中只包含字母和*號。請編寫函數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