题目描述
在网络编程中,如果 URL 中含有特殊字符,如空格、 “#” 等,服务器将无法识别导致无法获得正确的参数值,我们需要将这些特殊字符转换成服务器可以识别的字符,例如将空格转换成 “%20” 。 给定一个字符串,将其中的空格转换成 “%20” 。 输入一个原始字符串,例如 “hello world” 。 输出转换后的字符串,例如 “hello%20world” 。

输入

输入一个字符串,长度在106之内。

输出

输出转换完成的字符串。

样例输入1

we are happy

样例输出1

we%20are%20happy
#include <stdio.h>
char s[1000005] = {0};
char a[3000005] = {0};

int main() {
gets(s);
for (int i = 0, j = 0; s[i]; i++) {
if (s[i] != ' ') {
a[j] = s[i];
j++;
} else {
a[j] = '%';
a[j + 1] = '2';
a[j + 2] = '0';
j += 3;
}
}
printf("%s\n", a);

return 0;
}
#include <iostream>
#include <string>
using namespace std;

int main() {
string s, new_s;
getline(cin, s);
int n;
while ((n = s.find(' ')) != string::npos) {
s.replace(n, 1, "%20");
}
cout << s<< endl;
return 0;
}
#include <iostream>
#include <string>
using namespace std;

int main() {
string s, new_s;
getline(cin, s);
for (char i : s) {
if (i == ' ') new_s += "%20";
else new_s += i;
}
cout << new_s << endl;
return 0;
}