【面试题】剑指offer 4

来源:互联网 发布:怎么强制删除mac软件 编辑:程序博客网 时间:2024/06/05 01:10

实现一个函数将字符串中的空格替换为20%

#include<stdio.h>#include<stdlib.h>#include<string.h>void  myblank(char * str,int length){if(str==NULL||length<=0)return;int orlength=0;//int orlength=0;int numblank=0;//int numblank=0;int i=0;    //int i=0;while (str[i]!='\0'){++orlength;if(str[i]==' ')++numblank;++i;//++orlength;//if(str[i]==' ')//{//++numnlank;//}//++i;}int newlength=orlength+numblank*2;//int newlength=orlength+numblank*2;if(newlength>length)return;//if(newlength>length)//return ;int index=orlength;int newindex=newlength;//int index=orlength;//int newindex=newlength;while (index>=0&&newindex>index){if(str[index]==' '){str[newindex--]='0';str[newindex--]='2';str[newindex--]='%';//str[newindex--]='0';            //str[newindex--]='2';//str[newindex--]='%';}else{str[newindex--]=str[index];//str[newindex--]=str[index];}--index;//--index;}}int main(){char  str[20]="we are happy.";char str1[20]=" eqw ";char str2[120]="asd asd asd *a0d";myblank(str,20);myblank(str1,20);myblank(str2,30);printf("%s\n",str);printf("%s\n",str1);printf("%s\n",str2);system("pause");return 0;}


0 0