首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。 [说明] 函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。 [说明] 函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组
admin
2009-02-15
13
问题
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
[说明]
函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:
(1)若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中;
(2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中;
(3)若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字值为n,则将其后继字符重复复制n+1次到新字符串中;
(4)以上述一次变换为一组,在不同组之间另插入一个下划线‘_’用于分隔。
例如:encode()函数对字符中26a3t2的变换结果为666_a_tttt_2。
函数decode()用于经函数encode()处理的字符中,即复制不连续相同的单个字符,而将一组连续相同的字符(不超过10个)变换成一个用于表示重复次数的数字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。
注:假定调用变换函数encode()时的原始字符串中不包含下划线字符。
[函数]
int encode(char *instr,char *outstr)
{ char *ip, *op,c;
int k,n;
ip=instr;
op=outstr;
while ( * ip) {
if(*ip>=’0’&&*ip<=’9’&&*(ip+l)) {
n=*ip-’0’+1;
c=(1);
for (k=0;k<n;k++) *op++=c;
}
else *op++=*ip;
(2);
ip++;
}
if (op>outstr) (3);
*op=’\0’;
(4);
}
int decode(char *instr,char *outstr)
{ char *ip,*op,c;
int n;
ip=instr; op=outstr;
while ( *ip) {
c=*ip;
n=0;
while( *ip==c&&n<10) {(5); n++; }
if(n>1) *op+ + =’0’+n-1;
* op++=c;
if(*ip==’_’) ip++;
}
*op=’\0’;
(4);
}
选项
答案
(1) *++ip (2) *op++=‘_’ (3) op- -或- -op (4) return op - outstr (5) ip++
解析
在encode和decode函数中,参数ip和op分别指向输入字符串和输出字符串。
(1)读到一个非零数字n时,读取其后一个字符放入c,将其循环写入输出字符串n遍;
(2)完成一组变换后,应向输出字符中中添加一个下划线字符;
(3)如果输出字符串不空,应删除其末尾多余的下划线字符;
(4)根据程序说明,此处应返回输出字符串的长度,这里用尾、首位置指针的差表示;
(5)此处while循环的作用是读取连续相同的若干字符,输入字符串的位置指针应后移。
转载请注明原文地址:https://kaotiyun.com/show/UbjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在PowerPoint中,使用快捷键(55)可以使选定的文本添加下划线。
信息系统设计方案中的操作界面部分,特别是输入界面设计方案需要征求信息处理技术员的意见。在如下设计理念中,(66)是不正确的。
Word定时自动保存功能可以()。
《信息处理系统一开放系统互连一基本参考模型》(ISO7498-2:1989)属于(63)________________。
在Excel中,B2单元格的内容为123,A1单元格中的内容为“=B2”,当用Delete键删除B2单元格的内容后,则A1单元格显示(55)。
Windows XP的许多应用程序的“文件”菜单中,都有“保存”和“另存为”两个命令。以下对这两个命令的叙述,正确的是(36)。
在Access中,查询“学生”数据表的所有记录及字段的SQL语句是______。
某公路限速90公里/小时。有一辆小车在路上抛锚,为防止后续车辆追撞,需要在离车后至少_________米处摆放“∧”形标志(假设行车刹停时间为2秒)。
阅读下列说明,根据网页显示的效果图,回答问题1至问题7。【说明】以下是用ASP实现了一个网络收藏夹网页,用于保存用户感兴趣的Web网页地址。用IE打开网页文件“index.asp”后的效果如图5-1所示。程序中使用的Access数据表结构如表5-1所示。
请根据图2-13网页的显示效果,解释该ASP程序中用下画线标出的语句的含义,即填写(1)、(3)、(4)、(6)、(10)空缺处的解释内容。请根据图2-13网页的显示效果,将ASP程序中(2)、(5)、(7)、(8)、(9)空缺处的代码补充完整。A
随机试题
在实行代议制民主的政策体制中,直接决策者可分为()
保和丸的功效
汗出恶风,面色白,舌淡苔薄白,脉浮虚。治宜选用
如图6-6所示,a、b两种液体,两种液体的体积密度之比ρa/ρb为()。
甲建筑公司本身不具备所承揽项目的资质,为了中标,借用了乙建筑公司的资质。2009年6月,甲建筑公司所承建的工程竣工。但是,建设单位以甲建筑公司违法借用资质为名,提出所签订的合同无效,不予支付工程款。对此,下列说法不正确的是()。
下列各项中,属于现金结算特点的是()。
我国现行学制包含了学前教育、初等教育、()、高等教育四个层次。从形态上讲该学制属于()学派。
某公交线路有15站,假设一辆公交车从起点站出发,从起点站后,每一站都会有到前方每一站下车的乘客各一名上车,那么在第九站和第十站之间,车上有多少人?( )
当x→0时,ln(1+x)-(ax+bx2)与2x2是等价无穷小,则()
Complimentsaresogoodthattheycanhealyour______(2words).
最新回复
(
0
)