1. 程式人生 > 其它 >0035 寫一個函式squeeze(s1,s2),它刪去字串s1中與s2中的任意字元想匹配的字元

0035 寫一個函式squeeze(s1,s2),它刪去字串s1中與s2中的任意字元想匹配的字元

問題描述:

  寫一個函式squeeze(s1,s2),它刪去字串s1中與s2中的任意字元想匹配的字元。

程式碼展示:

 1 #include<stdio.h>
 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<len; 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<len1 && j<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 }

執行截圖: