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

题目及要求:

请实现一个函数,把字符串中的每个空格替换成“%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;
}

欢迎各位大神批评指正!

时间: 2024-10-17 11:17:54

实现函数,用字符串"%20"替换空格的相关文章

字符串:替换空格

请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 代码一: public class Solution { public String replaceSpace(StringBuffer str) { return str.toString().replaceAll("\\s+", "%20"); } } 代码二: public class Solution {

编程(用%20替换空格)

题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 5 class Solution { 6 public: 7 void replaceSpace(char *str,int length); 8 }; 9 10 v

【字符串】替换空格

/* 请实现一个函数,将一个字符串中的空格替换成"%20". 例如,当字符串为We Are Happy.则经过替换之后的字符串为 We%20Are%20Happy. */ #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class Solution { public:     void replaceSpace(char *str, int length) {         

利用 %20 替换 空格

将字符串中的空格都替换为 %20 ( 时间复杂度为O(N)的解法 ) void ReplaceBlankSpace(char* arr) { if (arr) { int count = 0; int lenth = strlen(arr); for (int i = 0; i < lenth;++i) if (arr[i] == ' ') count++; char*before = arr+lenth, *behind = arr+lenth+2*count; while (before !

SqlSever基础 ltrim函数 除去字符串左边的空格,右边的中间的不管

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1 code 1 --除去字符串左边的空格,右边的中间的不管 2 select ltrim(' as d a ') 2 show ------------------------------------------博文的精髓,在技术部分,更在镇场一诗.SqlSever是优秀的语言,值得努力学习.熟

sql server中字符串无法替换空格的问题

直接上代码: select case when 'workReport'=LTRIM(RTRIM(' workReport ')) then 'trim去空格成功' when 'workReport'=REPLACE(' workReport ',' ','') then 'replace去空格成功' when 'workReport'=REPLACE(' workReport ',char(ASCII(REPLACE(' workReport ','workReport',''))),'')

4. 替换空格(字符数组)

题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为"We Are Happy."则经过替换之后的字符串为"We%20Are%20Happy." 解析 直观的想法是,新建一个数组,逐个复制,遇到空格时,写入%20,但这需要占用额外空间. 如果我们顺序的遍历字符串,当遇到空格时,用%20替换空格,这将覆盖掉空格后面的字符 如果覆盖前,后移剩余字符串,那么移动的时间复杂度为O(n^2). 采用从后往前复制字符的方法.首先统

替换空格--《剑指offer》

如题所示,题目很简单,替换空格,将字符串中的空格替换为%20: 即"we are happy"替换成"we%20are%20happy": 如果每当我们遇到一个空格就将字符串向后平移两位,这样复杂度就是O(n2)了,这样的方法是不可取的,按照作者的来说,offer已不足拿到了: 而当我们反向从字符串末尾开始遍历,复杂度仅为O(n),当然前提的是该字符串有足够空间,否则替换会失败. 了解到思想之后程序也就比较简单了,发现自己的与作者的写的也比较类似,就此贴上了...

【C语言】字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”

//字符串替换空格:实现一个函数,把字符串里的空格替换成"%20" #include <stdio.h> #include <assert.h> void replace(char *src) { assert(src); int OldLen = 0; //原字符串长度 int NewLen = 0; //新字符串长度 int BlackNum = 0; //空格数量 int NewBack = 0; //新字符串尾部 int OldBack = 0; //原