九度OJ 题目1510:替换空格
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:1697
解决:436
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
每个输入文件仅包含一组测试样例。
对于每组测试案例,输入一行代表要处理的字符串。
对应每个测试案例,出经过处理后的字符串。
We Are Happy
We%20Are%20Happy
/********************************** 日期:2013-10-16* 作者:SJF0115* 题号: 九度OJ 题目1510:替换空格* 来源:http://ac.jobdu.com/problem.php?pid=1510* 结果:AC* 来源:剑指Offer* 总结:**********************************/#include<stdio.h>#include<string.h>char str[10000001];int main(){ int i,j,len;while(gets(str)){int count = 0;int len = strlen(str);//统计空格的个数for(i = 0;i < len;i++){if(str[i] == ' '){count++;}}//原始字符串末尾i = len;//替换之后字符串末尾j = 2*count+len;//i == j 表示空格替换完毕while(i != j && i >= 0){if(str[i] == ' '){str[j--] = '0';str[j--] = '2';str[j--] = '%';i--;}else{str[j] = str[i];j--;i--;}}//输出替换之后的字符串len = strlen(str);for(i = 0;i < len;i++){printf("%c",str[i]);}printf("\n");} return 0;}



【第二种方法】


