输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串

输入一个字符串,以回车结束(字符串长度<=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;
}


img

第一个for循环判断是否含有字符串a,若有替换为b,并对a的计数i进行相应的递增

用scanf("%s")这个单词接收啊,为啥用gets呢
接收一个单词就进行单词比较就好了啊