Problem Description
Uniform Resource Identifiers (or URIs) are strings like http://icpc.baylor.edu/icpc/, mailto:foo@bar.org, ftp://127.0.0.1/pub/linux, or even just readme.txt that are used to identify a resource, usually on the Internet or a local computer. Certain characters are reserved within URIs, and if a reserved character is part of an identifier then it must be percent-encoded by replacing it with a percent sign followed by two hexadecimal digits representing the ASCII code of the character. A table of seven reserved characters and their encodings is shown below. Your job is to write a program that can percent-encode a string of characters.

Character  Encoding
" " (space)  %20
"!" (exclamation point)  %21
"$" (dollar sign)  %24
"%" (percent sign)  %25
"(" (left parenthesis)  %28
")" (right parenthesis)  %29
"*" (asterisk)  %2a

 

Input
The input consists of one or more strings, each 1–79 characters
long and on a line by itself, followed by a line containing only "#"
that signals the end of the input. The character "#" is used only as an
end-of-input marker and will not appear anywhere else in the input. A
string may contain spaces, but not at the beginning or end of the
string, and there will never be two or more consecutive spaces.
 

Output
For each input string, replace every occurrence of a reserved
character in the table above by its percent-encoding, exactly as shown,
and output the resulting string on a line by itself. Note that the
percent-encoding for an asterisk is %2a (with a lowercase "a") rather
than %2A (with an uppercase "A").
 

Sample Input
Happy Joy Joy!
http://icpc.baylor.edu/icpc/
plain_vanilla
(**)
?
the 7% solution
#
 

Sample Output
Happy%20Joy%20Joy%21
http://icpc.baylor.edu/icpc/
plain_vanilla
%28%2a%2a%29
?
the%207%25%20solution
 

#include<stdio.h>
void main()
{
    char a[1000];
    int n;
    while(1)
    {
        gets(a);
        //getchar();
        if(a[0]=='#')
            return;
        for(int j=0;a[j]!='\0';j++);
        j++; n=j;
        for(int i=0;a[i]!='\0';i++)
        {
            switch(a[i])
            {
                case ' ' :
                    for(;j>i;j--)
                        a[j+2]=a[j];
                    a[i]='%';
                    a[i+1]='2';
                    a[i+2]='0';
                    i=i+2;
                    j=n=n+2;
                    break;
                case '!':
                    for(;j>i;j--)
                        a[j+2]=a[j];
                    a[i]='%';
                    a[i+1]='2';
                    a[i+2]='1';
                    i=i+2;
                    j=n=n+2;
                    break;
                case '$':
                    for(;j>i;j--)
                        a[j+2]=a[j];
                    a[i]='%';
                    a[i+1]='2';
                    a[i+2]='4';
                    i=i+2;
                    j=n=n+2;
                    break;
                case '%':
                    for(;j>i;j--)
                        a[j+2]=a[j];
                    a[i]='%';
                    a[i+1]='2';
                    a[i+2]='5';
                    i=i+2;
                    j=n=n+2;
                    break;
                case '(':
                    for(;j>i;j--)
                        a[j+2]=a[j];
                    a[i]='%';
                    a[i+1]='2';
                    a[i+2]='8';
                    i=i+2;
                    j=n=n+2;
                    break;
                case ')':
                    for(;j>i;j--)
                        a[j+2]=a[j];
                    a[i]='%';
                    a[i+1]='2';
                    a[i+2]='9';
                    i=i+2;
                    j=n=n+2;
                    break;
                case '*':
                    for(;j>i;j--)
                        a[j+2]=a[j];
                    a[i]='%';
                    a[i+1]='2';
                    a[i+2]='a';
                    i=i+2;
                    j=n=n+2;
                    break;
            }
        }
        printf("%s\n",a);
    }
}

The Seven Percent Solution的更多相关文章

  1. HDUOJ-------2719The Seven Percent Solution

    The Seven Percent Solution Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  2. zoj 2932 The Seven Percent Solution

    The Seven Percent Solution Time Limit: 2 Seconds      Memory Limit: 65536 KB Uniform Resource Identi ...

  3. POJ 3650:The Seven Percent Solution

    The Seven Percent Solution Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7684   Accep ...

  4. HDU 2719 The Seven Percent Solution

    #include <cstdio> #include <cstring> int main() { ]; ]!='#') { ; while (i<strlen(s)) ...

  5. HDU 2719 The Seven Percent Solution (水题。。。)

    题意:把字符串中的一些特殊符号用给定的字符串代替. 析:没的说. 代码如下: #include <iostream> #include <cstdio> #include &l ...

  6. HDU题解索引

    HDU 1000 A + B Problem  I/O HDU 1001 Sum Problem  数学 HDU 1002 A + B Problem II  高精度加法 HDU 1003 Maxsu ...

  7. Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...

  8. Enterprise Solution 开源项目资源汇总 Visual Studio Online 源代码托管 企业管理软件开发框架

    Enterprise Solution 是一套管理软件开发框架,在这个框架基础上开发出一套企业资源计划系统Enterprise Edition. 现将Enterprise Solution开发过程中遇 ...

  9. Windows 10 部署Enterprise Solution 5.5

    Windows 10正式版发布以后,新操作系统带来了许多的变化.现在新购买的电脑安装的系统应该是Windows 10.与当初用户不习惯Windows 7,购买新电脑后第一个想做的事情就是重装成XP,估 ...

随机推荐

  1. 10.19JS日记

    1.函数   关键词(function) var是js的关键字,用于声明变量,声明在内存模块完成,定义(=)是在执行模块完成 var可以在内存模块提前完成(js代码执行前),所以有变量提升这个功能 c ...

  2. 11. 标准库浏览 – Part II

    第二部分包含了支持专业编程工作所需的更高级的模块,这些模块很少出现在小脚本中. 11.1. 输出格式 reprlib 模块为大型的或深度嵌套的容器缩写显示提供了 :repr() 函数的一个定制版本: ...

  3. Eclipse中的maven项目搭建

    一.eclipse中的maven设置 1.打开“首选项”----> "maven"---->"Installations".用来查看maven的使用 ...

  4. Openflow的架构+源码剖析 转载

    Openvswitch的架构网上有如下的图表示: Openvswitch原理与代码分析(1):总体架构 Openvswitch原理与代码分析(2): ovs-vswitchd的启动 Openvswit ...

  5. 浅谈多重检验校正FDR

    浅谈多重检验校正FDR Posted: 四月 12, 2017  Under: Basic  By Kai  no Comments 例如,在我们对鉴定到的差异蛋白做GO功能注释后,通常会计算一个p值 ...

  6. node.js 进程崩溃处理

    process.on('uncaughtException', (err) => { console.error('有错误'); });

  7. POJ 3621Sightseeing Cows 0/1 分数规划

    Description 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天.旅行的前夜,奶牛们在兴奋地 讨论如何最好地享受这难得的闲暇. 很幸运地,奶牛们找到了一张详细的 ...

  8. C++点和箭头操作符用法区别

    变量是对象的时候用“.”访问 变量是对象指针的时候用“->”访问 例: #inlclude <iostream> using namespace std; class A { pub ...

  9. b2c项目访问

    http://xmpw.testbase.smi170.com:8091/member/movie_coupon_new.php

  10. 如何查看xmtb项目接口

    http://api.xmtb.com/?act=jucheng&op=get_show