0035 写一个函数squeeze(s1,s2),它删去字符串s1中与s2中的任意字符想匹配的字符
问题描述:
写一个函数squeeze(s1,s2),它删去字符串s1中与s2中的任意字符想匹配的字符。
代码展示:
1 #include2 #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(i len2){ 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 }
运行截图: