首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。 [说明] 函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。 [说明] 函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组
admin
2009-02-15
17
问题
阅读下列函数说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
I/0设备表示(16)________________。
如果表A和表B中有公共字段,且该字段在表B中称为主键,则该字段在表A中称为________________。
信息系统运行过程中的数据备份工作不包括________________。
经过反复修改的文档已经定稿,需要送到其他电脑上打印。为防止不同电脑不同软件版本或他人误操作导致文档发生变化,最好将该文档以()格式保存并传送。
下列选项中,属于网络操作系统的是(37)。
关于在Word中选定文本的叙述,正确的是(43)。
四位二进制数(从0000到1111)中,不含连续三位相同数字的数共有(4)个。
《信息技术汉字字型要求和检测方法》(GB/T11460一一2009)属于______。
据某地区统计,今年中小学生中肥胖学生约占10%,而且,肥胖学生人数正在以8%的速度增长。假设近年中小学生的总量变化不大,据此我们可以推算出,明年该地区中小学生中肥胖学生的比例约为(64)。
数据收集过程中经常会发生错误,数据出错的情况有很多种,最严重的错是______。
随机试题
以下关于严肃与谨慎相结合政策的说法,错误的是()。
在直接标价法,汇率升降与本国货币价值的高低是()变化。
2006年11月初,“中非合作论坛”在北京举行,与会各方取得了丰硕的成果。中国政府减免了非洲地区的巨额债务,同时承诺加强中国与非洲各国在金融、贸易、投资、文化、教育、卫生等领域的合作力度。中国政府的这一重大举措受到与会非洲各国的赞赏与欢迎,在非洲引发了“中
X线胶片相对感度的计算,最简便的方法是产生密度1.0(Dmin+1.0)的胶片A的曝光量对数(1gEA)与胶片B曝光量对数(1gEB)之差的反对数值乘以100。现有四种胶片A、B、C、D产生密度1.0所需曝光量的对数值分别为0.7、0.55、0.4、0.1
人民法院按照普通程序审理案件,应当在开庭3日前通知当事人和其他诉讼参与人。其中,对当事人采用()方式;对诉讼代理人、证人、鉴定人采用()方式;对勘验人、翻译人员等采用()方式。
为实现进度目标,不但应进行控制,还应注意( ),并在分析的基础上采取风险管理措施,以减少进度失控的风险量。
ISO9000族标准/文件的核心标准中,ISO9004:2000是()。
有五根铁链条,每条有三个环(如图)。已知打开一个环要用5分钟,焊接好一个环要用7分钟。如果要把这五根铁链连成一根长铁链,最少要用多少分钟?
求极限1/x.
Activitiessuchaseatingandshoppingaregenerallyincludedin"play".BeforetheIndustrialRevolution,leisuremeant______.
最新回复
(
0
)