PAT 字符串-02 删除字符串中的子串

 1 /*
 2  2 *PAT 字符串-02 删除字符串中的子串
 3  3 *2015-08-09
 4  4 作者:flx413
 5  5 */
 6  
 7 #include<stdio.h>
 8 #include<string.h>
 9 
10 void fun(char *str, char *substr) {
11     int i, j, k, flag;
12     int len = strlen(substr);
13     
14     while(strstr(str, substr)) {                //如果字符串中存在子串
15         flag = 0;                               //初始化 flag = 0
16         
17         for(i = 0; str[i]; i++) {   
18             for(j = i, k = 0; substr[k] == str[j] && substr[k] != ''; k++, j++) {
19                 if(substr[k + 1] == '') {     //找到子串第一次出现的位置 i,flag 赋值为1
20                    flag = 1;
21                 }
22             }
23             if(flag) {                          //对原来的字符串做删除
24                 for(; str[i + len]; i++) {
25                     str[i] = str[i + len];
26                 }
27                 str[i] = '';
28                 break;
29             }
30         }
31     }
32 }
33 
34 int main() {
35     char str[81],substr[81];                //题目要求输入字符串长度不大于80,定义str[80]会出错
36     gets(str);
37     gets(substr);
38     fun(str, substr);
39     printf("%s", str);
40     return 0;
41 }
原文地址:https://www.cnblogs.com/lzjtdxfxl/p/4714846.html