[202403-E]春日
題目背景
春水初至, 文筆亦似花開。
題目描述
坐看萬紫千紅, 提筆洋洋灑灑, 便成篇文章。 現在給你這篇文章, 這篇文章由若干個單詞組成, 沒有標點符號, 兩兩單詞之間由一個空格隔開。 為了讓大家感受到春日花開的美麗, 現在需要你將文章中所有的完整的單詞 “flower” 修改為 “Flower” 。 如單詞 “flower” 需要修改, 但 “fflower" 不需要修改,“flowerr” 也不需要修改。
輸入格式
輸入一行一個字符串 SSS 。
輸出格式
輸出一行一個字符串, 表示修改以后的文章。
樣例 #1
樣例輸入 #1
flowers flower
樣例輸出 #1
flowers Flower
提示
對于 20%20\%20% 的數據, 滿足文章就是 “flower” ;
對于 100%100 \%100% 的數據, 滿足文章長度小于 100010001000 個字符。
🟢 題目解析
春日文章由若干單詞組成,
要求把單獨完整的單詞 “flower” 替換為 “Flower”。
注意:
- 只有單詞正好是 “flower” 才替換,
- 不是子串,比如 “flowers” 或 “fflower” 不替換。
🔥 解題思路
- 先按空格分割字符串,得到單詞列表。
- 遍歷單詞列表,遇到等于 “flower” 的單詞改成 “Flower”。
- 拼回字符串輸出,單詞之間用空格分隔。
? C++ 代碼實現(不使用復雜庫,只用簡單字符串操作)
#include <iostream>
#include <string>
using namespace std;int main() {string s;getline(cin, s);string result = "";string word = "";for (int i = 0; i <= (int)s.size(); i++) {if (i == (int)s.size() || s[i] == ' ') {// 單詞結束,判斷是否為"flower"if (word == "flower") word = "Flower";if (!result.empty()) result += " ";result += word;word = "";} else {word += s[i];}}cout << result << endl;return 0;
}
🏆 樣例測試:
輸入:
flowers flower
輸出:
flowers Flower