题目描述:
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
输入:
每个输入文件仅包含一组测试样例。对于每组测试案例,输入一行代表要处理的字符串。
输出:
对应每个测试案例,出经过处理后的字符串。
样例输入:
We Are Happy
样例输出:
We%20Are%20Happy
AC代码:(注意最后不用输出换行符!)
#includevoid replace(char *a, char *b) { while(*a != '\0') { if(*a != ' ') { *b++ = *a++; } else { *b++ = '%'; *b++ = '2'; *b++ = '0'; a++; } } *b = '\0';}int main() { char a[1000], b[3000]; while (fgets(a, 1000, stdin)) { replace(a, b); printf("%s", b); } return 0;}/************************************************************** Problem: 1510 User: wusuopuBUPT Language: C Result: Accepted Time:10 ms Memory:912 kb****************************************************************/
方法二:
并不“真正地”替换掉,而是在输出时遇到空格就输出"%20":
#include#include char s[100000001]; int main() { int i, len; while (gets(s)) { len = strlen(s); for (i = 0; i < len; i++) { char c = *(s + i); if (c != ' ') { printf("%c", c); } else { printf("%%20"); } } printf("\n"); } return 0;} /************************************************************** Problem: 1510 User: wusuopuBUPT Language: C Result: Accepted Time:30 ms Memory:98568 kb****************************************************************/