0035 写一个函数squeeze(s1,s2),它删去字符串s1中与s2中的任意字符想匹配的字符


问题描述:

  写一个函数squeeze(s1,s2),它删去字符串s1中与s2中的任意字符想匹配的字符。

代码展示:

 1 #include
 2 #include<string.h>
 3 int deleteSample(char str1[], char str2[]);
 4 int main() {
 5     char str1[100], str2[50];
 6     int i;
 7     printf("请输入str1:");
 8     scanf("%s",&str1);
 9     printf("请输入str2:");
10     scanf("%s",&str2);
11     int len = deleteSample(str1, str2);
12     printf("删除后的str1的字符串为:");
13     for(i=0; i){
14         printf("%c",str1[i]);
15     }
16     return 0;
17 }
18 int deleteSample(char str1[], char str2[]){
19     int len1 = strlen(str1);
20     int len2 = strlen(str2);
21     int i=0,j=0,k;
22     int flag=0;
23     while(ilen2){
24         if(str1[i] == str2[j]){        //查找相同位 
25             i++;j++;
26         }else{
27             flag++;
28             i = flag;
29             j=0;
30         }
31         if(j == len2){        //逻辑删除 
32             while(i<len1){
33                 str1[i-len2] = str1[i];
34                 i++;
35             }
36             len1 = len1 - len2;
37             i = 0;
38             j = 0;
39             flag = 0;
40             }
41         }
42     return len1;
43 }

运行截图:

相关