-
请实现一个函数,将一个字符串中的空格替换成“%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) //用额外的空间进行赋值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;
}