// 替换空格
/*
题目:请实现一个函数,把字符串中的每个空格替换成"%20".
例如,输入 "we are happy", 则输出 "we%20are%20happy."
*/
#include <iostream>
#include <stdio.h>
using namespace std;
void replaceSpace(char *str,int length) {
if (str==NULL || length <=0)
return;
int numberofspace = 0;
int originlength = 0;
int i = 0;
while(str[i] != '\0')
{
originlength ++;
if (str[i] == ' ')
numberofspace ++;
i++;
}
int newlength = originlength + 2 * numberofspace;
//if (newlength > length)
//return;
int indexOforigin = originlength;
int indexOfnew = newlength;
while(indexOforigin >=0 && indexOfnew > indexOforigin)
{
if(str[indexOforigin] != ' ')
str[indexOfnew--] = str[indexOforigin];
else
{
str[indexOfnew--] = '0';
str[indexOfnew--] = '2';
str[indexOfnew--] = '%';
}
indexOforigin --;
}
}
void test1()
{
//const int length = 100;
char* str1= " xie pan ";
//char str2[] = "%20xie%20pan%20";
replaceSpace(str1, 9);
//int ans = strcmp(str1, str2);
cout << str1 << endl;
//cout << ans <<endl;
}
int main()
{
test1();
return 0;
}
111
最新推荐文章于 2023-01-17 11:01:18 发布