时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:1557
解决:395
- 题目描述:
-
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 输入:
-
每个输入文件仅包含一组测试样例。
对于每组测试案例,输入一行代表要处理的字符串。
- 输出:
-
对应每个测试案例,出经过处理后的字符串。
- 样例输入:
-
We Are Happy
- 样例输出:
-
We%20Are%20Happy
#include<stdio.h>
#include<string.h>
int main()
{
char s[65535]={0};
int n;
int space_num ;
while(gets(s))
{
space_num = 0;
n = strlen(s);
if(n <= 0)
{
printf("\n");
continue;
}
int i;
for(i = 0; i < n; i++)
{
if(s[i] == ' ')
space_num++;
}
int newlen = n + 2*space_num;
int original_index = n-1;
int new_index = newlen-1;
while(original_index >= 0 && new_index > original_index)
{
if(s[original_index] == ' ')
{
s[new_index--] = '0';
s[new_index--] = '2';
s[new_index--] = '%';
}
else
{
s[new_index--] = s[original_index];
}
original_index--;
}
printf("%s\n",s);
memset(s,'\0',sizeof(s));
}
return 0;
}
测试用例5过不去