本文最后更新于 961 天前,其中的信息可能已经有所发展或是发生改变。
原题链接
描述:
输入一个字符串,以回车结束(字符串长度不超过 100)。
该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。
现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
输入格式
输入共 3 行。
第 1 行是包含多个单词的字符串 s;
第 2 行是待替换的单词 a(长度不超过 100);
第 3 行是 a 将被替换的单词 b(长度不超过 100)。
输出格式
共一行,输出将 s 中所有单词 a 替换成 b 之后的字符串。
输入样例:
| You want someone to help you |
| You |
| I |
输出样例:
| I want someone to help you |
分析:
- 替换单词字符串,可以利用
stringstream
依次读入,判断输出
代码:
| #include <bits/stdc++.h> |
| using namespace std; |
| int main() |
| { |
| string s,s1,a,b; |
| getline(cin,s); |
| cin>>a>>b; |
| stringstream ssin(s); |
| while(ssin>>s1){ |
| if(s1==a){ |
| cout<<b<<" "; |
| } |
| else cout<<s1<<" "; |
| } |
| return 0; |
| } |
| string str1 = "abcdefghigklmn" ; |
| |
| string str2 = str1.substr(2,5) ; |
| |
| int p1 = str1.find(str) |
| |
| int p2 = str1.rfind(str) |
| |
| string str3 = "1234.567" ; |
| |
| double nums = atof(str3.c_str()) |
| |
| int nums = atoi(ser3.c_str()) |