题目描述
请实现一个函数,把字符串中的每个空格替换成“%20”,例如,输入“we are happy.”,则输出“we%20are%20happy.”.
解题思路
利用c++的string类型中的insert方法,进行遍历,如果当前下标的字符是空格,那么把它替换成%,再使用insert方法插入20.
实现代码
#include<iostream>
#include<string>
using namespace std;
void Replace(string &str)
{
int length = str.size();
if (length == 0)return;
string::iterator it;
for (it = str.begin(); it != str.end(); it++)
{
if (*it == ' ')
{
*it = '%';
str.insert(++it, '2');
str.insert(++it, '0');
}
}
}
int main()
{
string str;
getline(cin,str);
Replace(str);
cout << str<<endl;
return 0;
}