首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在网络编程中,如果URL参数中含有特殊字符,如空格、“#”等,可能导致服务器端无法获得正确的参数值,需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在“%”后面跟上ASCⅡ码的两位十六进制的表示。比如空格的ASCⅡ码是32,即十六进制的0×20,
在网络编程中,如果URL参数中含有特殊字符,如空格、“#”等,可能导致服务器端无法获得正确的参数值,需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在“%”后面跟上ASCⅡ码的两位十六进制的表示。比如空格的ASCⅡ码是32,即十六进制的0×20,
admin
2017-04-28
65
问题
在网络编程中,如果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
学硕统考专业
相关试题推荐
分析德国法西斯上台的原因。
七君子事件
近代中国第一个系统介绍西方思想与文化名著的翻译家和启蒙思想家是()。
1951年底到1952年春,中国共产党在党政机构工作人员中开展运动的内容是()。
北约和华约两个组织对峙近半个世纪,其影响是()。
以海地和巴西为例,论述19世纪拉丁美洲民族独立运动类型多样化的历史依据。
(1)根据无类IP地址的规则,每个网段中有两个地址是不分配的:主机号全0表示网络地址,主机号全1表示广播地址。因此8位主机号所能表示的主机数就是28-2,即254台。该网络要划分为两个子网,每个子网要120台主机,因此主机位数X应该满足下面三个条件:
相对于单一内核结构,采用微内核结构设计实现操作系统具有诸多好处,但是,()并不是微内核的优势。
某计算机字长为16位,主存地址空间大小为128KB,按字编址。采用单字长指令格式,指令各字段定义如图B-4所示。转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义见表B-1。请回答下列问题:该指令系统最多可有多少条指令?该计算机最多有
数据链路层采用后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是____。
随机试题
图纸中的比例20:1.表明()。
大剂量阿司匹林可用于
下列各项中,不属于资本公积构成内容的有()。
关于国际税收抵免制度的说法,不正确的有()。
遗忘:记忆
我没有机会去音乐厅_______交响乐,但我对交响乐有很好的_______,能够很好地理解不同的曲目所表现的意境。填入画横线部分最恰当的一项是:
求微分方程y"+y=x2+3+cosx的通解.
Whenthepublicdemands"lawandorder"andwhennewspaperseditorialstalkaboutthe"risingtideofcrime",theyhaveinmind
信息系统工程的风险识别往往要采用两种以上的方法,但不论采用何种风险识别方法的组合,都必须包含(17)。
traders
最新回复
(
0
)