您的位置:首页 > 其它

实现函数,用字符串"%20"替换空格

2016-05-29 22:49 363 查看
题目及要求:
请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“we are happy.”,则输出“we%20are%20happy.”。
思考过程:首先将定义一个指针,用于保存"%20",然后定义一个数组,用于接收从键盘上输入的字符串,边输入边判断,如果是空格,则替换,直至接收完毕。
程序:
/*
*实现一个函数,把字符串中的每个空格替换成“%20”。
*例如输入“we are happy.”,则输出“we%20are%20happy.”。
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
char *p = "%20";    //将“%20”的位置固定
char *start = p;       //定义一个指针,指向字符串的开始位置,以便于循环
char arr[50] = {0};  //定义接收字符串的函数
int flag = 1;
int i = 0,k;
printf("请输入字符串");
while (flag)
{
arr[i] = getchar();      //接收字符串
if (arr[i] == ' ')      //如果接收到空格,则进行替换
{
for (k = 0; k < 3;k++)   //空格替换
{
arr[i++] = *p++;
}
p = start;        //指向替换字符串的指针指向初始值
i = i - 1;
}
if (arr[i] == '\n')   //如果出现换行符,字符串接收完毕
flag = 0;
i=i+1;
}
printf("替换后字符串为:%s\n",arr);
system("pause");
return 0;
}
欢迎各位大神批评指正!
本文出自 “分享中进步” 博客,请务必保留此出处http://xmwen1.blog.51cto.com/10730069/1708407
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: