大致思考方法:
定义三个字符串:str[], ab[], output[],str是输入的第一个字符串,output放的是最后的结果。
设置两个下标 i,j。i指向第一个字符串,j指向第二个子符串;
i每次向后移动一个位置,i往后的strlen(ab)个字符是不是和字符串ab匹配,如果不匹配就把str[i]添到字符串output中,如果匹配,就让i直接跳过strlen(ab)个位置;
具体还是看代码吧!自己在纸上画一画就明白了。
#include<stdio.h>
#include<string.h>
int main(void)
{
char str[30], ab[5], output[30];
scanf("%s", str);
scanf("%s", ab);
int i, j, outputIndex = 0;
for(i = 0; i < strlen(str); i ++)
{
for(j = 0; j < strlen(ab) && i + j < strlen(str); j ++)
{
if(str[i + j] != ab[j]) break;
}
if(j != strlen(ab))
output[outputIndex ++] = str[i];
else
i = i + strlen(ab) - 1;
}
output[outputIndex] = '\0';
printf("%s\n", output);
return 0;
}
温馨提示:答案为网友推荐,仅供参考