输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串
#include
#include
int main()
{
char s[200],a[200],b[200],c[200]; //s为原字符串,a为待替换字符串,b为替换字符串
int i,j,flag,k,t=0;
gets(s);
gets(a);
gets(b);
int n1=strlen(s),n2=strlen(a),n3=strlen(b);
for (i=0;ifor (j=0;j1;
if (s[i+j]!=a[j])
{
flag=0;
break ;
}
}
if (flag)
{
i=i+n2+1;
for (k=0;kelse
c[t++]=a[i];
}
for (i=0;iprintf("%c",c[i]);
}
return 0;
}
第一个for循环判断是否含有字符串a,若有替换为b,并对a的计数i进行相应的递增
用scanf("%s")这个单词接收啊,为啥用gets呢
接收一个单词就进行单词比较就好了啊