题目: 从一个字符串中删除其中的*号, 例如: Abcd12***aa*  删除*号后就是 Abcd12aa

  1. /* 
  2.  * deldStar.c 
  3.  * 
  4.  *  Created on: 2011-3-25 
  5.  *      Author: DMC 
  6.  */ 
  7. #include <stdio.h> 
  8.  
  9. ////this founction come true delete * from a string. 
  10.  
  11. void findDelStar(char string[],int length); 
  12. int stringLength(char string[]); 
  13.  
  14. ///this founction is main 
  15. int main(){ 
  16.     char string[]="****12"; 
  17.     int length,i; 
  18.     length = stringLength(string); 
  19.     findDelStar(string,length); 
  20.  
  21.     //// printf array element 
  22.     printf("main founction printf array element:\n"); 
  23.     for(i=0;string[i]!='\0';i++){ 
  24.         printf("%c\t",string[i]); 
  25.     } 
  26.  
  27.     return 0; 
  28. }//founction end 
  29.  
  30. ///this founction is find * and delete it 
  31. void findDelStar(char string[],int leng) 
  32.     int i; 
  33.     for(i=0;i<leng;i++) 
  34.     { 
  35.         if(string[i]=='*'& string[i+1]!= '*') 
  36.         { 
  37.             int j,k; 
  38.             k=i
  39.             for(j=i+1;j<leng+1;j++,++k) 
  40.             { 
  41.                 string[k]=string[j]; 
  42.             } 
  43.         } 
  44.         if(string[i]=='*' & string[i+1] == '*' ){ 
  45.             int j,k; 
  46.             k=i
  47.             for(j=i+1;j<leng+1;j++,++k) 
  48.             { 
  49.                 string[k]=string[j]; 
  50.             } 
  51.             i--; 
  52.         } 
  53.     } 
  54.  
  55. //// this foundction is to count the number of string. 
  56. int stringLength(char string[]) 
  57.     int i; 
  58.     for (i=0;string[i]!='\0';i++) 
  59.     { 
  60.     } 
  61.     return i;