【1406】单词替换

【问题描述】
        输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
【输入格式】:
        第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
【参考程序】

#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
using namespace std;

string a, b, s[101];

void work(int i) {
	if (a == s[i]) {
		cout << b << " ";			// 如果该单词与待替换单词相同则替换 
	} else {
		cout << s[i] << " ";		// 否则直接输出该单词 
	}
} 

int main() {
	int len = 0;					// 单词个数 
	char c;
	do {							// 循环输入 
		cin >> s[++len];
		c = getchar();			   // 接收单词后面的空格 
	} while (c == ' ');
	
	cin >> a >> b;				    // 输入要替换的 和 替换成的 
	for (int i=1; i<=len; i++) {	// 逐个判断是否要替换
		work(i);					 
	} 
	
	return 0;
}


发布了49 篇原创文章 · 获赞 0 · 访问量 1035

猜你喜欢

转载自blog.csdn.net/developer_zhb/article/details/104947747