替换空格

来源:互联网 发布:xp 保存网络用户密码 编辑:程序博客网 时间:2024/06/11 19:57
题目描述:

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

输入:

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

输出:

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

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

AC代码:(注意最后不用输出换行符!)


#include<stdio.h>void 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<stdio.h>#include<string.h>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****************************************************************/



0 0