将字符串中的空格用 代替

/*测试数据:Shen zhen is a beautiful city!*/
/*运行结果:Shen%20zhen%20is%20a%20beautiful%20city!*/
#include<stdio.h>
#define SIZE 1000

void wordReplace(char *str)
{
	char *p = str, *e=str,*q,*r;
	char rp[] = "%20";
	r = rp;
	while (*e != 0){
		++e;
	}
	q=e;
	while (*p){
		while (*p == 32){
			while (q != p){
				*(q + 2) = *q;/*之所以是2,是因为%20有三个字符,由于当前字符本身为空格,所以只需要往后面移动两位即可*/
				--q;
			}
			while (*r != 0){/*将%20字符串复制到空白区域*/
				*p = *r;
				++p;
				++r;
			}
			--p;/*为了能用下面的++p*,先将p往前移动一位/
			r = rp;/*初始化*/
			e += 2;/*字符串长度增加2*/
			q = e;/*初始化*/
		}
		++p;
	}
	puts(str);/*输出改动后的字符串*/
}

int main()
{
	char str[SIZE];
	printf("Please enter a string :\n");
	gets(str);
	//wordCount(str);
	//wordReplace(str);
	reverseWord(str);
	return 0;
}

将字符串中的空格用 代替,布布扣,bubuko.com

时间: 2024-08-06 07:50:45

将字符串中的空格用 代替的相关文章

C++用%20替换字符串中的空格(O(n)的时间效率)

#include <iostream> #include <malloc.h> #include <string.h> using namespace std; //将字符串中的空格用%20替换. void Grial(char *str) { if(str==NULL)return ; char *p = str; char *q = NULL; char buf[strlen(str)+1]; int count = 0;//计数空格数. while(*p!='\0

字符串中的空格

<string>.Trim():删除输入字符串中的空格<string>.TrimStart():把字符串前面的空格去掉<string>.TrimEnd():把字符串后面的空格去掉<string>.PadLeft():在字符串的左边添加空格<string>.PadRight():在字符串的右边添加空格

替换字符串中的空格

题目描述: 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 输入: 每个输入文件仅包含一组测试样例. 对于每组测试案例,输入一行代表要处理的字符串. 输出: 对应每个测试案例,出经过处理后的字符串. 样例输入: We Are Happy 样例输出: We%20Are%20Happy -------------------------------------------------

去掉字符串中的空格

1)Trim方法 string   tt=" aaa "; tt=tt.Trim()       去字符串首尾空格的函数 tt=tt.TrimEnd() 去掉字符串尾空格 tt=tt.TrimStart() 去掉字符串首空格 (2)通过ASCII码值去掉字符中的空格 由于空格的ASCII码值是32,因此,在去掉字符串中所有的空格时,只需循环访问字符串中的所有字符,并判断它们的ASCII码值是不是32即可.去掉字符串中所有空格的关键代码如下: CharEnumerator CEnumer

去除字符串中的空格

用C语言写一个函数,去除字符串中的空格,并返回删除的空格的个数.不允许开辟新的空间,只能申请简单类型的自动变量.时间复杂度要求为O(n). #include <bitset> #include<iostream> int deleteSpace(char * pstr); void main() { char word[]="dhkak df d fd fdjfkda dfd ff f fd da "; deleteSpace(word); std::cout&

(练手备忘)汇编实现将输入的字符串中的空格去掉后反序输出

功能:任意输入一个字符串,去掉其中的空格后反序输出 注:使用 int 21h 里的 0AH 功能 输入一个字符串时,字符串的第一个字节存储的是字符串的最大长度,第二个字节存储的是实际读入字符的个数 编译器使用的是MASMPlus ;#Mode = DOS MAXLEN = 64 ;设置字符串的最大长度 SPACE = ' ' ;空格 datasg segment buffer db MAXLEN+1,0,MAXLEN+1 dup(0) ;字符串输入缓冲区 string db MAXLEN+3 d

将字符串中的空格变成%20如“we are happy ”变成“we%20are%20happy”

分析: 将字符串中的空格替换成三个字符'%','2','0': 一.创建另一个数组就太简单了,将字符串str的内容复制到新的数组中,当遇到' '时就将输出%20:如果没有空格就将原字符串中的字符复制过来就好了: 二.计算出字符串中的空格数,然后将代替后的字符串长度算出来,因为代替时会将原字符串中的字符覆盖掉,因此我们应该遍历时遇到空格就将它后面的字符向后移两位,这样就可以将%20放进去,但是由于每次遇到空格都向后移一次,那么就没有效率,因此我们可以将最后一个字符一次移到最后. 步骤是这样的: 算

用较小的代价去除字符串中的空格

题目: 用C语言写一个函数,去除字符串中的空格,并返回删除的空格的个数.不允许开辟新的空间,只能申请简单类型的自动变量.时间复杂度要求为O(n). 比如:char str[]="dhkak   df d fd     fdjfkda     dfd   ff f  fd da "; 处理之后: str[]="dhkakdfdfdfdjfkdadfdffffdda"; 返回删除空格的个数为:12算法思想: 先取字符串的长度,然后用前后各一个指针,分别为p,q,使前面一

将一个字符串中的空格替换为指定的内容——4

实现一个函数,将一个字符串中的所有空格替换为"%20",例如输入字符串"How beautiful you are!",输出结果应为"How%20beautiful%20you%20are!". 首先,如果另开辟一块空间并且足够将全部空格都替换成"%20",然后一个单词一个单词的拷贝过去,当遇到空格时就放进去"%20",这种低效率的方法肯定是可行的,但很显然不仅效率不高还浪费存储空间,因此,要节省空间就要在