首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在网络编程中,如果URL参数中含有特殊字符,如空格、“#”等,可能导致服务器端无法获得正确的参数值,需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在“%”后面跟上ASCⅡ码的两位十六进制的表示。比如空格的ASCⅡ码是32,即十六进制的0×20,
在网络编程中,如果URL参数中含有特殊字符,如空格、“#”等,可能导致服务器端无法获得正确的参数值,需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在“%”后面跟上ASCⅡ码的两位十六进制的表示。比如空格的ASCⅡ码是32,即十六进制的0×20,
admin
2017-04-28
74
问题
在网络编程中,如果URL参数中含有特殊字符,如空格、“#”等,可能导致服务器端无法获得正确的参数值,需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在“%”后面跟上ASCⅡ码的两位十六进制的表示。比如空格的ASCⅡ码是32,即十六进制的0×20,因此空格被替换为“%20”。再比如“#”的ASCⅡ码为35,即十六进制的0×23,它在URL中被替换为“%23”。请设计一个时间和空间上尽可能高效的算法,把字符串中的每个空格替换为“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。要求:
根据设计思想,采用C、C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现如下: /*length为字符数组string的总容量+/ void ReplaceBlank (char string[],int length) { if (string==NULL&&length<=0) return; /*originalLength为字符串strincg的实际长度*/ int originalLength=0; /*numberOfBlank为字符串中空格的数量*/ int numberOfBlank=0; int i=0; while (string[i] !=’\0’) { originalLength++; if (string [iJ;=’ ’) numberOfBlank++; i++; } /*newLength为把空格替换成’%20’之后的长度*/ int newLength=originalLength+numberOfBlank*2; int indexOfOriginal=originalLength; int indexOfNew=newLength; while (indexOfOriginal>=0&&indexOfNew>indexOfOriginal) { //如果当前字符为空格,在indexOfNew所指单元以及前2格分别插入字符’0’、 ’2’、’%’ if( string[indexOfOriginalJ==’ ’) { string[indexOfNew--]=’0’; string[indexOfNew--]=’2’; string [indexOfNew--]=’%’; } //如果当前indexOfOriginal所指的字符不是空格,将当前字符复制到indexOfNew所指位 置,并将indexOfNew向前移动1格 else { string[indexOfNew--] =string [indexOfOriginal]; } indexOfOriginal--; } }
解析
转载请注明原文地址:https://kaotiyun.com/show/DWRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
论述第二次鸦片战争的结局对中国社会有什么影响。
袁世凯得以复辟帝制不是因为()
在捍卫和传播生物进化论方面做出了贡献的是()。
西汉初年,西域共有36国,其中以()人口最多。
阅读材料,回答问题:材料一:战后美国对一些新兴工业部门、重大科研项目、现代化公共设施等投入大量资金,如美国时发展原子能工业的投资,从1945年到1970年共计达175亿美元。美国还通过国家力量来扩张国外市场,从50年代中期起,为加强国际市场的竞争力,政府
第三次科技革命对社会经济结构的影响是()。
在西欧列强海外殖民扩张进程中,各国之间相互争夺海上霸权。18世纪末,英国在争霸中取得胜利的根本原因在于()
1946年3月5日,英国前首相丘吉尔在富尔敦发表了(),发出第一个明白无误的“冷战”信号。
试就MutualExclusion、Progress、BoundedWaiting论述以下解决双进程临界区问题的算法是错误的:ProcessPO:do{flag[0]=true;While(flag[1]);
在TELNET协议中,用户发送的命令采用TCP传输到服务器,在TCP的数据包中,需要把()符号位置移位,从而使服务器尽快响应命令。
随机试题
19世纪60年代,清朝统治集团中倡导洋务的首领人物是
硫氧嘧啶类药物可用于治疗甲状腺功能亢进,这是由于它能
根据《建筑地基基础设计规范》,12层以上建筑的梁板式筏型基础,底板厚度不应小于:
锅炉钢架验收合格后,锅炉组件吊装原则是(),先中心再逐渐向炉前、炉后进行。
下列属于无效合同的是()。
关于养老金替代率水平的三个检验标准,下列描述错误的是( )。
银行主要采用SWOT分析方法对其内外部环境进行综合分析。其中,S(Strength)表示()。
不满14周岁的人实施违反治安管理的,由其监护人承担法律责任。()
根据唐律中贵族官员犯罪减免刑罚的规定,下列说法正确的有
在Windows 2000操作系统中,配置IP地址的命令是(53)。若用ping命令来测试本机是否安装了TCP/IP协议,则正确的命令是(54)。如果要列出本机当前建立的连接,可以使用的命令是(55)。
最新回复
(
0
)