剑指offer,面试题四替换空格
2016-11-02 11:26
232 查看
请实现一个函数,把字符数组中的每个空格替换成“%20”。
例如输入“we are happy.”,则输出“we%20are%20happy.”。
#include<stdio.h>
#include<string.h>
void replace_space(char arr[])
{
int count_space=0;
int i=0;
char *star=arr+strlen(arr)-1;
char *end=arr+strlen(arr)-1;
while (arr[i])
{
if (arr[i]==' ')
{
count_space++;
}
i++;
}
end=end+count_space*2;
while (end!=star)
{
if (*star==' ')
{
*end='0';
end--;
*end='2';
end--;
*end='%';
star--;
end--;
}
else
{
*end=*star;
end--;
star--;
}
}
}
int main()
{
char arr[30]={"we are happy."};
replace_space(arr);
printf("%s\n",arr);
system("pause");
return 0;
}
例如输入“we are happy.”,则输出“we%20are%20happy.”。
#include<stdio.h>
#include<string.h>
void replace_space(char arr[])
{
int count_space=0;
int i=0;
char *star=arr+strlen(arr)-1;
char *end=arr+strlen(arr)-1;
while (arr[i])
{
if (arr[i]==' ')
{
count_space++;
}
i++;
}
end=end+count_space*2;
while (end!=star)
{
if (*star==' ')
{
*end='0';
end--;
*end='2';
end--;
*end='%';
star--;
end--;
}
else
{
*end=*star;
end--;
star--;
}
}
}
int main()
{
char arr[30]={"we are happy."};
replace_space(arr);
printf("%s\n",arr);
system("pause");
return 0;
}
相关文章推荐
- 【剑指offer】面试题4:替换空格 java
- 【面试题】剑指Offer-4-替换空格
- 剑指offer——面试题4:替换空格
- 剑指offer_面试题4_替换空格(注意时间效率)
- 剑指offer面试题4 替换空格
- 剑指offer面试题java实现之题4:替换空格
- 剑指Offer面试题5:替换空格程序调试与错误解决方法
- 剑指offer-面试题04-替换空格
- 剑指offer-->面试题4 替换空格
- 剑指offer面试题4:替换空格和合并两个有序数组
- 剑指offer之面试题4:替换空格
- 剑指offer面试题4 替换空格(java)
- 剑指offer——面试题4:替换空格
- 【剑指Offer】面试题4:替换空格
- 剑指Offer面试题4(Java版):替换空格
- 剑指offer面试题4:替换字符串中的空格
- 剑指offer-面试题4:替换空格
- 【剑指offer】2.3.2 字符串——面试题4:替换空格
- 【剑指offer面试题4】替换空格%20和清除空格
- 【剑指offer】面试题4替换空格