标签:
请实现一个函数,将一个字符串中的空格替换成“%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 1000 void _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) //用额外的空间进行赋值1 { 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; }
标签:
原文地址:http://blog.csdn.net/kai8wei/article/details/44862693