将字符串中的空格替换成“ %020”
下面程序设计的优点在于可以不借助辅助空间,在原字符串数组中直接替换并输出
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char str[100];
while (memset(str, 0, sizeof(str)), fgets(str, sizeof(str), stdin) != NULL)
{
str[strlen(str) - 1] = 0;
int iniI = strlen(str) - 1;
int iniJ = iniI;
for (int k = 0; str[k]; ++k)
{
if (str[k] == ' ')
{
iniJ += 3;
}
}
for (int i = iniI, j = iniJ; i < j; --i, --j)
{
if (str[i] != ' ')
{
str[j] = str[i];
}
else
{
str[j--] = '0';
str[j--] = '2';
str[j--] = '0';
str[j] = '%';
}
}
puts(str);
}
}
本文介绍了一个在原字符串数组中直接替换空格为“%020”的程序设计方法,该方法无需额外空间,通过两次遍历实现高效替换。
285

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



