替换空格

题目描述:

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy

此类型的算法可以适用于很多方面,像数组的合并。思想是从数组的后边向前合并,而不是从前向后。

 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 void ReplaceBlank(char *string, int length){
 5     if(string == NULL || length  <= 0){
 6         return;
 7     }
 8     int i = 0;
 9     int isSpace = 0;
10     int len = strlen(string);
11     
12     while(string[i] != '\0'){
13         if(string[i] == ' '){
14             ++isSpace;                                 //求出有多少个空格
15         }
16         ++i;
17     }
18     
19     int newLen = len + 2 * isSpace;                    //每添加一个“%20”数组会向后移动两个空格(已经有一个空格了),newLen表示新数组的空间
20 //    printf("%d\n", newLen);
21     
22     int indexLen = newLen;
23     
24     while(indexLen > len && len >= 0){                 //从后向前,每遇到一个空格就向数组里添加“%20”
25         if(string[len] == ' '){
26             string[indexLen--] = '0';
27             string[indexLen--] = '2';
28             string[indexLen--] = '%';
29         }
30         else{
31             string[indexLen--] = string[len];
32         //    len--;
33         //    indexLen--;
34         }
35         len--;
36     } 
37 }
38 
39 int main(){
/*
  测试数据
*/
40 char p[1000000]; 41 fgets(p, sizeof(p)-1, stdin); 42 ReplaceBlank(p, 2); 43 puts(p); 44 return 0; 45 }

 

转载于:https://www.cnblogs.com/dormant/p/5300968.html

基于gcc的stm32环境搭建源码+文档说明.zip,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值