pku3650解题报告超级水题将几个字符替换掉" " (space) 替换成%20"!" (exclamation point) 替换成%21"$" (dollar sign) 替换成%24"%" (percent sign) 替换成%25"(" (left parenthesis) 替换成%28")" (right parenthesis) 替换成%29"*" (asterisk) 替换成%2a注意输入带空格的字符串时,可以用gets()函数获取一行.cin和scanf不行.#include <iostream>using namespace std;int main(){ char str[80]; memset(str,0,strlen(str)); while(gets(str))//获取一行输入 { if(str[0]=='#')//最后一行只有一个"#" break;//输入#时结束. else for(int i=0;i<strlen(str);i++) {//一些替换 if(str[i]==' ') cout<<"%20"; else if(str[i]=='!') cout<<"%21"; else if(str[i]=='$') cout<<"%24"; else if(str[i]=='%') cout<<"%25"; else if(str[i]=='(') cout<<"%28"; else if(str[i]==')') cout<<"%29"; else if(str[i]=='*') cout<<"%2a"; else cout<<str[i]; } cout<<endl; memset(str,0,strlen(str)); }// system("PAUSE"); //return EXIT_SUCCESS;}

评论