描述
在网络编程中,如果URL含有特殊字符,如空格、‘#’等,服务器将无法识别导致无法获得正确的参数值,我们需要将这些特殊字符转换成服务器可以识别的字符,例如将空格转换成’%20’。给定一个字符串,将其中的空格转换成'%20'。
输入
输入总共3000组数据。 每组数据包含一个原始字符串,例如 hello world。
输出
对于每组数据输出结果。输出转换后的字符串,例如 hello%20world
代码:
#include<stdio.h>
#include<string.h>
int main(){
int j=0;
char s[3005];
char a[3005]={'\0'};
while(gets(s)!='\0'){
for(int i=0,j=0;s[i]!='\0';i++){
if(s[i]!=' '){
a[j]=s[i];
j++;
}else {
a[j]='%';
a[j+1]='2';
a[j+2]='0';
j=j+3;
}
}
printf("%s",a);
printf("\n");
int len=strlen(a);
for(int j=0;j<len;j++){
a[j]=NULL;
}
}
return 0;
}
思路:1:多组输入(用while)
2:gets():输入字符串
3:字符串以“\0”结尾
4:for循环+if
5:最后记得将字符数组a[j]清零