【例題3】單詞替換
阿新 • • 發佈:2021-07-15
【例題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\)。
分析
- (find()函式的解釋請見移位包含的分析)
字串的 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; }
部落格園:https://www.cnblogs.com/Juro/
Copyright ©2021 Juro
【轉載文章務必保留出處和署名,謝謝!】