描述
输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
输入
输入包括3行,
第1行是包含多个单词的字符串 s;
第2行是待替换的单词a(长度 <= 100);
第3行是a将被替换的单词b(长度 <= 100).
s, a, b 最前面和最后面都没有空格.
输出
输出只有 1 行,将s中所有单词a替换成b之后的字符串。
样例输入
You want someone to help you You I
样例输出
I want someone to help you
来源
医学部计算概论2006期末考试题
主程序:
#include <bits/stdc++.h> using namespace std; char s[105],word1[105],word2[105]; int main() { fgets(s,sizeof(s),stdin); scanf("%s%s",word1,word2); int lens = strlen(s),len1 = strlen(word1),flag = 0; for(int i = 0;i < lens - 1;i++) { if(strncmp(s + i,word1,len1) == 0 && (i == 0 || s[i - 1] == ' ') && (i + len1 >= lens - 1 || s[i + len1] == ' ')) { printf("%s",word2); i += len1 - 1; } else { printf("%c",s[i]); } } if(flag = 0) { printf("%s",s); } return 0; }