首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
admin
2012-01-13
64
问题
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。
[说明]
对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。
下面分别用函数compactArr_v1和compactArr_v2来实现上述处理要求,函数的返回值为非零元素的个数。
函数CompactArr(int a[],int n)的处理思路是:首先申请一个与数组a的大小相同的动态数组空间,然后顺序扫描数组a的每一个元素,将遇到的非0元素依次复制到动态数组空间中,最后再将动态数组中的元素传回数组a中。
函数CompactArr_v2(int a[],int n)的处理思路是:利用下标i(初值为0)顺序扫描数组a的每一个元素,下标k(初值为0)表示数组a中连续存储的非0元素的下标。扫描时,每遇到一个数组元素,i就增1,而遇到非0元素并将其前移后k才增1。
[C函数1]
int CompactArr vl(int a[],int n)
{
int i, k;
int *temp=(int*)malloc(n* (1) );
if(!temp)
return-1;
for(i=0, k=0; i<n; i++)
if(a
!=0){
(2) =a
;
}
for(i=0; (3) ; i++)
a
=temp
;
return k;
}
[C函数2]
intCompactArr v2(inta[],intn)
{
int i, k;
for(i=0, k=0; i<n; i++) {
if(a
!=0){
(4) =a
;
}
}
return k;
}
请根据说明中函数CompactArr_v1的处理思路填补空缺(1)~(3),根据CompactArr_v2的处理思路填补空缺(4)。
选项
答案
sizeof(int) tenlp[k++] 或*(temp+k++) 或等价表示 i<k 或等价表示 a[k++] 或*(a+k++) 或等价表示
解析
本题考查C程序设计和分析能力。
本问题考查C程序结构、数组及运算的应用知识。
根据题目中对函数CompactArr_v1的处理思路描述,空(1)处应填入sizeof(int)。
以下代码将数组a中的非0元素复制到动态数组temp中。
for(i=0, k=0; i<n; i++)
if(a
!=0){
(2) =a
;
}
显然,k应作为temp的下标索引变量使用,因此空(2)处应填入temp[k++],当该循环语句结束后,k的值也就是a中非0元素的个数。据此,空(3)处应填入i<k。
根据题目中对函数CompactArr_v2的处理思路描述,空(4)处应填入a[k++]。
转载请注明原文地址:https://jikaoti.com/ti/h5W7FFFM
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在浏览网页时,当鼠标指针移至某些文字或某些图片时,会出现手形状,通常是由于网页在这个地方做了(17)。
在Access中使用参数查询时,应将条件栏中的参数提示文本写在(60)中。
关于在Word中选定文本的叙述,正确的是(43)。
计算机操作系统的主要功能是______。
___________接口是目前微机上最流行的I/O接口,具有支持热插拔、连接灵活、独立供电等优点,可以连接常见的鼠标、键盘、打印机、扫描仪、摄像头、充电器、闪存盘、MP3机、手机、数码相机、移动硬盘、外置光驱、Modem等几乎所有的外部设备。
当新插入的背景剪贴画遮挡原来的对象时,最合适的调整方法是(55)。
为了调查某学校3000名学生的身高,抽取了100名学生进行身高测量,以下叙述中正确的是(23)。
用计算机处理信息时,常对许多信息采用适当的编码。例如职工编码、商品编码、性别编码、文化程度编码等。编码有许多好处,但不包括(66)。
在Excel中,在单元格C1中输入函数“=ROUND(653.54897,2)”,按回车键后,C1单元格中的值为()。
某计算机字长为8位,它用补码、原码或反码来表示带符号的二进制整数(最高一位为符号位),则机器代码11111111所表示的十进制真值分别为(4)、(5)或(6)。
随机试题
计算机的主存储器包括_______两类存储器。
患者男性,65岁。既往有心绞痛发作史,3小时前在从事体力劳动时突然出现胸骨后压榨样疼痛发作,伴恶心、呕吐、冷汗及频死感而入院。上述患者绝对卧床的时间应该是
妊娠后期头晕目眩,眼前发黑,心悸健忘,少寐多梦,气短懒言,面色苍白,舌淡,脉细弱。其治疗常用方
动产质押合同自()。
招标文件要求中标人提交履约担保的,招标人()。
在考虑资金时间价值时,需将某投资项目几年后的残值转换为期初投资时的现值,那么,在折现率为5%时,贴现系数应为()。
在Windows缺省状态下,进行全角/半角切换的组合键是()。
对自己和他人的观点、情绪、思想、动机的认知,以及对社会关系和对集体组织间关系的认知是()。
2017年10月3日,历经50多天,我国()载人潜水器在南海完成全部海上试验任务,该型潜水器是我国深海装备的又一里程碑,为我国海洋事业的发展增添新的利器,实现了我国深海装备由集成创新向自主创新的历史性跨越。
AgroupoflabourMPs,amongthemYvetteCooper,arebringinginthenewyearwithacalltoinstituteaUK“townofculture"awar
最新回复
(
0
)