删除字符串中的子串
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。输入格式:
输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。
输出格式:
在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。
输入样例:
Tomcat is a male ccatat
cat
输出样例:
Tom is a male
这是我做的,请各位高手帮忙看看哪里错误(系统显示有答案错误也有格式错误)?
#include<stdio.h>
int main(void)
{
int i,k,g,a;
int s1[80];
int s2[80];
k=0;
while((s1[k]=getchar())!='\n')
k++;
s1[k]='\n';
scanf("\n");
g=0;
while((s2[g]=getchar())!='\n')
g++;
s2[g]='\n';
for(i=0;i<k;i++){
for(a=0;a<g;a++)
if(s2[a]==s1[i])
s1[i]='';
}
for(i=0;i<k;i++)
printf("%c",s1[i]);
return 0;
}
不用指针
[此贴子已经被作者于2016-11-28 21:36编辑过]