其他分享
首页 > 其他分享> > 【例题3】单词替换

【例题3】单词替换

作者:互联网

【例题3】单词替换
题面

题目描述

输入一个字符串,以回车结束。

该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。

现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

输入格式

第 \(1\) 行是包含多个单词的字符串 \(s\);

第 \(2\) 行是待替换的单词 \(a\);

第 \(3\) 行是单词 \(b\),表示用单词 \(b\) 替换单词 \(a\)。

\(s,a,b\) 最前面和最后面都没有空格。

输出格式

输出将 \(s\) 中所有单词 \(a\) 替换成 \(b\) 之后的字符串。

样例

样例输入

You want someone to help you
You
I

样例输出

I want someone to help you

数据范围与提示

对于 \(100\%\) 的数据,\(1\le length(s),length(a),length(b)\le 100\)。

分析

字符串的 replace() 函数,形如 s1.replace(pos1, len, s2)

将字符串 s1 中从 pos1 开始的 len 个字符替换为 s2

Code
#include <bits/stdc++.h>
#include <string>
using namespace std;

string s, a, b;

int main(void) {
    getline(cin, s);
    cin >> a >> b;

    while (s.find(a) != s.npos) {
        s.replace(s.find(a), a.size(), b);
    }

    cout << s;

    return 0;
}

标签:行是,替换,单词,replace,字符串,例题,find
来源: https://www.cnblogs.com/Juro/p/15013400.html