题目:实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出”We%20are%20happy.”
题目很简单,直接上代码
#include<iostream>
using namespace std;
void Replace(char string[],int length)
{
if(string==NULL || length<0)
{
return;
}
int originalLength=0;
int newLength =0;
int numberofBlank =0;
int i=0;
while(string[i]!='\0')
{
++originalLength;
if(string[i]==' ')
{
++numberofBlank;
}
++i;
}
newLength=originalLength+numberofBlank*2;
int indexofOriginal=originalLength;
int indexNew=newLength;
if(newLength>length)
{
return;
}
while(indexofOriginal>0 && indexofNew>indexofOriginal)
{
if(string[indexofOriginal]==' ')
{
string[indexofNew--]='0';
string[indexofNew--]='2';
string[indexofNew--]='%';
}
else{
string[indexofNew--]=string[indexofOriginal];
}
--indexofOriginal;
}
}
int main()
{
char string1[50]="Nothing is impossible!";
char string2[50]="My name is 优快云.";
char string3[50]="We are happy.";
Replace(string1,50);
Replace(string2,50);
Replace(string3,50);
cout<<string1<<endl;
cout<<string2<<endl;
cout<<string3<<endl;
system("pause");
return 0;
}

本文介绍了一个简单的C++函数实现,该函数能够将给定字符串中的所有空格替换为“%20”,以此来模拟URL编码的过程。通过具体的代码示例展示了如何遍历字符串并计算空格数量,再重新组织字符串以完成替换。
3291

被折叠的 条评论
为什么被折叠?



