正文

pku3650解题报告2008-08-23 22:37:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bclz/37825.html

分享到:

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;
}

阅读(2186) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册