c程序设计语言 习题2-4原题和改

 1  /*原题:
 2 
 3     编写函数fn(s,t),将字符串s中任何与字符串t中字符匹配的字符删除。*/
 4 
 5 
 6 #include <stdio.h>
 7 main()
 8 {
 9     void sq(char s[],char t[]);
10 
11     char s[]="dashbasbhdabsbde";
12     char t[]="shb";
13     
14     sq(s,t);
15     printf("%s\n",s);
16 }
17 
18 void sq(char s[],char t[])
19 {
20     int i,j,n;
21     n=0;
22     for(i=0;s[i]!='\0';i++)
23     {
24         for(j=0;t[j]!='\0' && t[j]!=s[i];j++)
25             ;
26         if(t[j]=='\0')
27             s[n++]=s[i];
28     }
29     s[n]='\0';
30 }
原题
 1 //(改)将字符串s中与字符串t完全相同的字段删除。
 2 
 3 #include <stdio.h>
 4 main()
 5 {
 6     void sq(char s[],char t[]);
 7 
 8     char s[]="dashbasbhdabsbde";
 9     char t[]="shb";
10     
11     sq(s,t);
12     printf("%s\n",s);
13 }
14 
15 void sq(char s[],char t[])
16 {
17     int i,j,n,k;
18     n=0;
19     for(i=0;s[i]!='\0';i++)
20     {
21         for(j=0,k=i;t[j]!='\0'&&t[j]==s[k];j++,k++)
22             ;
23         if(t[j]=='\0')
24         {
25             n=i;
26             while(s[k]!='\0')
27                 s[n++]=s[k++];
28             s[n]='\0';
29         }
30     }
31 }

 

posted on 2014-05-29 15:20  月巴巴  阅读(147)  评论(0编辑  收藏  举报