The Seven Percent Solution
|
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 |
|
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! |
|
Sample Output
Happy%20Joy%20Joy%21 |
#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的更多相关文章
- HDUOJ-------2719The Seven Percent Solution
The Seven Percent Solution Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- zoj 2932 The Seven Percent Solution
The Seven Percent Solution Time Limit: 2 Seconds Memory Limit: 65536 KB Uniform Resource Identi ...
- POJ 3650:The Seven Percent Solution
The Seven Percent Solution Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7684 Accep ...
- HDU 2719 The Seven Percent Solution
#include <cstdio> #include <cstring> int main() { ]; ]!='#') { ; while (i<strlen(s)) ...
- HDU 2719 The Seven Percent Solution (水题。。。)
题意:把字符串中的一些特殊符号用给定的字符串代替. 析:没的说. 代码如下: #include <iostream> #include <cstdio> #include &l ...
- HDU题解索引
HDU 1000 A + B Problem I/O HDU 1001 Sum Problem 数学 HDU 1002 A + B Problem II 高精度加法 HDU 1003 Maxsu ...
- 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 数据库 ...
- Enterprise Solution 开源项目资源汇总 Visual Studio Online 源代码托管 企业管理软件开发框架
Enterprise Solution 是一套管理软件开发框架,在这个框架基础上开发出一套企业资源计划系统Enterprise Edition. 现将Enterprise Solution开发过程中遇 ...
- Windows 10 部署Enterprise Solution 5.5
Windows 10正式版发布以后,新操作系统带来了许多的变化.现在新购买的电脑安装的系统应该是Windows 10.与当初用户不习惯Windows 7,购买新电脑后第一个想做的事情就是重装成XP,估 ...
随机推荐
- UML 图C#
继承关系(类1继承类2) 代码: class Class1:Class2 { } class Class2 { } 实现(实现接口) 代码: interface interface1 { void s ...
- 未能找到 CodeDom 提供程序类型“Microsoft.VJSharp.VJSharpCodeProvider,
错误 1 未能找到 CodeDom 提供程序类型“Microsoft.VJSharp.VJSharpCodeProvider, VJSharpCodeProvider, Version=2.0.0.0 ...
- 大数乘法java版
import java.util.*; import java.math.*; public class NumMul{ public static void main(String args[]){ ...
- Luogu 3620 数据备份 - Set
Solution 很显然, 最优情况肯定是相邻两个相连 . 然后模型就跟 Luogu1484 类似了. 把两个房子 看成一个坑 (参考 Luogu1484), 选取 $k$ 个不相邻的坑, 使得权值最 ...
- 201621123008 《Java程序设计》第八周学习总结
1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 源代码: public boolean contains(Object o ...
- LoibreOJ 2042. 「CQOI2016」不同的最小割 最小割树 Gomory-Hu tree
2042. 「CQOI2016」不同的最小割 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
- 强大的easygrid V7 ,可联系作者
增加历史记录事件 修改bug 修改风格 演示绑定表达式 下载demo
- UI设计教程分享:Ps合成炫酷机械姬
本次给大家分享一个通过PS合成一个炫酷的机械姬,在这个教程里给大家展示图像的色彩处理.人物光影塑造和创意实现及细节处理,教程比较简单,创意十足,看过<机械姬>电影的同学们一定知道这个有多炫 ...
- AUC和ROC
https://www.cnblogs.com/gatherstars/p/6084696.html
- solr之创建core(搜索核心,包括索引和数据)的方法
我的solrhome为D:\solrHome\solr step1:进入solrHome会看到collection1文件夹,创建该文件夹的副本,重命名为product 进入product文件夹,进入d ...