首先是题目展示:
1 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
然后是代码展示:
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 int main(){ 5 char arr[]="we are happy"; 6 int i=0; 7 int j=0; 8 int len=0; 9 int new_len=0; 10 int space_len=0; 11 len=strlen(arr); 12 for(i=0;i<len;i++){ 13 14 if(arr[i]==' '){ 15 space_len++; 16 } 17 } 18 19 new_len=space_len*2+len; 20 j=new_len; 21 while(i>=0&&new_len>len){ 22 if(arr[i]==' '){ 23 arr[j--]='0'; 24 arr[j--]='2'; 25 arr[j--]='%'; 26 i--; 27 }else{ 28 arr[j]=arr[i]; 29 j--; 30 i--; 31 } 32 } 33 34 len=strlen(arr); 35 for(int i=0;i<len;i++){ 36 37 printf("%c",arr[i]); 38 } 39 40 return 0; 41 }