替换空格

来源:互联网 发布:电话轰炸机原理知乎 编辑:程序博客网 时间:2024/06/06 09:47

  请实现一个函数,将一个字符串中的空格替换成“%20”。

例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。


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

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

样例输入:We Are Happy

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



#include<iostream>using namespace std;#include<string>#include<assert.h>#define MAX  1000void _replace_space(char *a, char *b) //用额外的空间进行赋值1{assert(a!=NULL && b!=NULL);    while(*a) {        if(*a != ' ') {            *b++ = *a++;        }        else {*b++ = '%';            *b++ = '2';            *b++ = '0';a++;        }    }}void replace_space(char *a, char *b,char *c) //用额外的空间进行赋值2{assert(a!=NULL && b!=NULL && c!=NULL);    while(*a) {        if(*a != ' ') {            *b++ = *a++;        }        else {char *n=c;while(*c!='\0'){*b++=*c++;}                        c=n;a++;        }    }}void prit_replace_space(char *a)//直接输出无需插入{    for(int i=0;i<12;i++){   if(a[i]!= ' ')   {   printf("%c",a[i]);   }      else    {  printf("%s","%20");  }}}int main() {    char a[]="we are happy", b[MAX]={0},c[]="%20";    /*replace_space(a, b,c); printf("%s", b);*/    /*_replace_space(a,b);printf("%s", b);*/prit_replace_space(a);   cout<<'\n';    return 0;}




1 0