首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。 [说明] 函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。 [说明] 函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组
admin
2009-02-15
21
问题
阅读下列函数说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
在WPS文字中,由“字体”“字号”“粗体”“斜体”“两端对齐”等按钮组成的工具栏是________________。
经过反复修改的文档已经定稿,需要送到其他电脑上打印。为防止不同电脑不同软件版本或他人误操作导致文档发生变化,最好将该文档以()格式保存并传送。
某企业去年四次核查的钢材库存量情况如下表:用加权平均法计算出该企业去年钢材平均库存量为()吨(中间各次核查数据的权都取1,首次与末次核查数据的权都取0.5)。
在Windows系统的资源管理器中,文件和文件夹可以采用多种形式显示,但不能以(40)形式显示。
由国家机关下达任务开发的软件,若在项目任务书或者合同中对软件著作权未作明确规定的,其软件著作权由(21)享有。
在Excel中,设单元格A1中的值为100,B1中的值为200,A2中的值为300,B2中的值为400,若在A3单元格中输入函数“=SUM(A1:B2)”,按回车键后,A3单元格中的值为()。
在选择多媒体数据压缩算法时需要综合考虑(24)。
阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句填到对应栏内。[说明]在文本框中实现时钟显示功能,格式如下:“-年-月-日小时:分:秒星期几”[HTML文本]<html>
阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句写在对应栏内。[说明]这是一个修改字符串的题目,此题中将字符串“hello,Iamnotastudent,Idonotlikecom
随机试题
我国城市规划行政主管部门分为三个层次,最低层次是:
抽资转向战略可以通过()措施来配合进行。
枇杷叶的功效是浙贝母的功效是
A.水湿内停B.肾气不固C.阴虚内热D.膀胱失约E.下焦湿热小便频而短赤急迫,证属
根据《药品生产质量管理规范》,必须使用独立的厂房与设施生产的药品种类是
背景资料某水利枢纽工程由电站、溢洪道和土坝组成。土坝的结构形式为均质土坝,上游设干砌石护坡,下游设草皮护坡和堆石排水体,坝顶设碎石路,工程实施过程中发生下述事件:事件一:项目法人要求该工程质量监督机构对于大坝填筑按《水利水电基本
如果追加数量很小的需求可以使价格大幅度上涨,那么这个期货市场就是()。
非劳动收入的增加会导致()。
抚养比就是需要经济供养的少年与老年人口之和与劳动年龄人口数量之比,反映了劳动力的抚养负担程度。根据上述定义,以下现象不会增加抚养比的是:
设a为int型变量,执行下列赋值语句后,a的取值分别为() a=125.534;a=20.0/3;a=20%3;a=(int)125%521%4;a=5<<2;
最新回复
(
0
)