【百日刷题计划 第八天】——熟悉字符串 字符串基础题
文章目录
- 💥前言
- 😉解题报告
- 💥770.单词替换
- 🤔一、思路:
- 😎二、源码:
- 😮三、代码分析:
- 🤗 鸡汤来咯:
💥前言
☀️大家好☀️,我是烧蔬菜😁,最近做算法题可以感受到自己确实有点懈怠了😐,所以给自己定一个百日刷题计划,希望自己可以一直坚持下去💪,每天做题,也把题题解写下,记录自己每天的做题痕迹来激励提升自己获取正反馈✊,并且与大家分享下去😁
😉解题报告
💥770.单词替换
biu~
☘️ 题目描述☘️
输入一个字符串,以回车结束(字符串长度不超过 100)。
该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。
现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
输入格式
输入共 3 行。
第 1 行是包含多个单词的字符串 s;
第 2 行是待替换的单词 a(长度不超过 100);
第 3 行是 a 将被替换的单词 b(长度不超过 100)。
输出格式
共一行,输出将 s 中所有单词 a 替换成 b 之后的字符串。
🤔一、思路:
(1)想要包括空格和换行输入一个完整的字符串需要getline();
(2)用双指针来进行挨个单词的取出,从而进行判断
😎二、源码:
#include <iostream>
using namespace std;
int main(){
string line;
getline(cin,line); //(1)
string a,b;
cin>>a>>b;
for(int i = 0; i < line.size(); i++) {
int j = i;
string word;
while (j < line.size() && line[j] !=' ') word += line[j++]; //(2)
i = j;
if (word == a) cout << b << ' ';
else cout << word << ' ';
}
return 0;
}
😮三、代码分析:
(1)使从键盘输入的string类型字符遇到空格和换行符不会结束输入,全部输入进去
(2)若没遇到空格会将字符串中一个单词进行存储下来
(3)若当前单词是要进行替换的单词,则进行替换单词输出,不是则原样输出
🤗 鸡汤来咯:
立志不坚,终不济事