[Jobdu] 题目1510:替换空格

题目描述:

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

 

输入:

每个输入文件仅包含一组测试样例。
对于每组测试案例,输入一行代表要处理的字符串。

 

输出:

对应每个测试案例,出经过处理后的字符串。

 

样例输入:
We Are Happy
样例输出:
We%20Are%20Happy

从后向前处理数组。

 1 #include <iostream>

 2 #include <string>

 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 }

 

 

你可能感兴趣的:(job)