输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。 Input 输入包括3行, 第1行是包含多个单词的字符串 s; 第2行是待替换的单词a(长度 <= 100); 第3行是a将被替换的单词b(长度 <= 100). s, a, b 最前面和最后面都没有空格. Output 输出只有 1 行,将s中所有单词a替换成b之后的字符串。 Sample Input You want someone to help you You I Sample Output I want someone to help you
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char word[110][110],find[110],to[110]; int i,j; while(scanf("%s",word[0])!=EOF) //word是一个二维数组,每输入一个单词,就存一行 { i=1; while(getchar()!=‘\n‘) scanf("%s",word[i++]); scanf("%s",find); //输入替换的单词和被替换的单词 scanf("%s",to); for(j=0;j<i;j++) //对每一个单词与find进行比较,如果相同,则输出替换单词 { if(strcmp(word[j],find)==0) printf("%s ",to); else printf("%s ",word[j]); } } return 0; }