- 题目描述:
-
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 输入:
-
每个输入文件仅包含一组测试样例。
对于每组测试案例,输入一行代表要处理的字符串。
- 输出:
-
对应每个测试案例,出经过处理后的字符串。
- 样例输入:
-
We Are Happy
- 样例输出:
-
We%20Are%20Happy
从后向前处理数组。
1 #include2 #include 3 using namespace std; 4 5 int main() { 6 int count; 7 int size; 8 string s; 9 while (getline(cin, s)) {10 count = 0;11 size = s.size();12 for (int i = 0; i < size; ++i) 13 if (s[i] == ' ')14 ++count;15 16 s.resize(size + 2 * count);17 18 for (int i = size; i >= 0; --i) {19 if (s[i] == ' ') {20 s[i + 2 * count] = '0';21 s[i + 2 * count - 1] = '2';22 s[i + 2 * count - 2] = '%';23 --count;24 } else {25 s[i + 2 * count] = s[i];26 }27 }28 cout << s << endl;29 }30 return 0;31 }