把字符串中的每个空格替换成“%20”.例如:输入“We are happy.”,则输出“We%20are%20happy.”
实现一个函数,把字符串中的每个空格替换成“%20”.例如:输入“We are happy.”,则输出“We%20are%20happy.”#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>void Replace(char str[], int lenth){if (NULL == str || 0 == lenth)return;int
·
实现一个函数,把字符串中的每个空格替换成“%20”.例如:输入“We are happy.”,则输出“We%20are%20happy.”
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void Replace(char str[], int lenth)
{
if (NULL == str || 0 == lenth)
return;
int count = 0; //计空格数
int len = 0; //计算str中包含多少个元素(有效长度)
int i = 0;
//数有多少个空格以及数组的元素个数
while (str [i] != '\0') //这里要注意计数停止条件
{
if (str [i] == ' ')
{
count++;
}
len++;
i++;
}
int len1 = len;
int len2 = len + count * 2;//修改后的数组长度
//从后往前遍历数组,遇到空格就往后挪动两格
while (len1 >= 0 && len2 >= len1)
{
if (str [len1] == ' ')
{
//如果遇到空格,从后往前插入%20
str [len2--] = '0';
str [len2--] = '2';
str [len2--] = '%';
}
else
{
str [len2--] = str [len1];
}
len1--;
}
}
int main()
{
//实现一个函数,把字符串中的每个空格替换成“ % 20”.
//例如:输入“We are happy.”,则输出“We%20are%20happy.”
char str [100] = {0};
gets(str);
int len = sizeof(str) / sizeof(str [0]);
Replace(str, len);
printf("%s\n", str);
return 0;
}
更多推荐
已为社区贡献2条内容
所有评论(0)