题目描述
hello,我又回来了!
今天再来写一篇题解,这道题不算难,重点考察的就是带空格输入字符串。
题目的意思是将输入的带空格字符串中所有空格替换成“%20”;
样例
样例输入:
We are happy.
样例输出:
We%20are%20happy.
算法
想解决这道题,首先需要知道怎样输入一个带空格的字符串,最简单的方法当然就是用getline(cin, s);
这样输入后题目就变得异常简单,接着只需要把空格替换成%20输出就好了。
C++ 代码
#include <iostream>
#include <cstring> //字符串string头文件少不了,用万能也可以
using namespace std;
int main() {
string s;
getline(cin, s); //传说中的getline闪亮登场
for (int i = 0; i < s.size(); i++) { //位数次循环遍历字符串每一位
if (s[i] == ' ') { //判断是否为空格
cout << "%20"; //是空格输出%20
} else {
cout << s[i]; //不是正常输出
}
}
return 0;
}
注意
该代码不能直接移接到acwing挑战模式中,可以在编译器中使用!
这样就行了(楼主似乎是萌新……[HTML_REMOVED]改成[HTML_REMOVED]哦)
刚学C++,for(auto s:str)这句有点儿看不懂
这是
C++11
特有的语法