#include <stdio.h>
#include <stdlib.h>
int main(){
char s1[81];
char s2[81];
gets(s1);
gets(s2);
int L1 = strlen(s1);
int L2 = strlen(s2);
int i,j=0,flag=0;
for(i=0;i<L1;i++){
if(s1[i]==s2[j]){
flag = i;
while(s1[i]==s2[j]&&i<L1){
i++;
j++;
}
if(j>=L2){
int k;
for(k=flag;k<L1-L2;k++){ //删除相同的字符串
s1[k] = s1[k+L2];
}
i = flag-L2; //,往前走删除嵌套的字符串,因为这一趟执行完i要自增所以不用+1
L1 = L1-L2;
j=0;
}else{
i = flag; //因为这一趟执行完i要自增所以不用+1
j=0;
}
}
}
for(i=0;i<L1;i++){
printf("%c",s1[i]);
}
}
7-29 删除字符串中的子串 (20分)
最新推荐文章于 2022-01-10 13:18:07 发布