[202403-E]春日
[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