首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
admin
2012-01-13
63
问题
阅读以下说明和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://kaotiyun.com/show/f6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
鼠标指针的形状取决于它所在的位置以及与其他屏幕元素的相互关系。在文字处理的文本区域,指针就像(),指向当前待插入字符的位置。
以下关于计算机网络协议的叙述中,不正确的是(58)________________。
在Excel的A2单元格中输入:“=1=2”,则显示的结果是______。
企业数据中心经常需要向各有关方面提供并展现处理后的数据。以下关于数据展现的叙述中,(11)是不正确的。
某企业经常需要进行大量的复杂的数据处理,在数据处理的过程中,需要注意的事项不包括(66)。
删除Windows中某个应用程序的快捷方式,意味着(39)。
在Excel“单元格格式”对话框的“对齐”选项卡中,“垂直对齐”选项中不包括(56)。
文件的使用权限包括完全控制、允许写入、允许读取、允许运行、允许删除等,其中完全控制、允许写入、允许读取、允许运行都允许用户进行的操作是(38)。
Linux通过字母和数字的组合来标识硬盘分区,/dev/hda3指第(1)个硬盘的第3个分区。该硬盘是(2)类型。(1)A.1B.2C.3(2)A.SCSIB.IDEC.USB在Linux安装完成之后,(5)目录用
阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,[说明]这是一个修改字符串的题目,此题中将字符串“hello,Iamnotastudent,Idonotlikecomputer!”中的"not"去掉,并在
随机试题
A.肉眼血尿B.肾盂造影示肾盂内充盈缺损C.两者皆有D.两者皆无膀胱肿瘤
女孩,4岁。发热伴咳嗽3~4d,今出皮疹,住外院拟诊“药物疹”,口服阿司咪唑(息斯敏),回家后病情变化,咳加剧,来院就诊。体检:体温39℃,气急,鼻扇动,唇周青紫,两眼结膜红,口腔粘膜粗糙,心率每分钟160次,心音低钝,两肺背闻及细湿啰音,腹软,肝肋下3.
某患者月经周期正常,经血量多,色深红,质黏稠,心烦口渴,尿黄,便结,舌红,苔黄,脉滑数。其证候是()
下列腧穴在五行配属中属金的是()
外感头痛发生的主要病邪是()。
任何一宗商品交易都包含()环节。
黏性土心墙和斜墙顶部水平厚度一般不小于()m,以便于机械化施工。
如果某单精度浮点数、某原码、某补码、某移码的32位机器数均为0xF0000000,这些数从大到小的顺序是()。
小李是北京某政法学院教务处的工作人员,法律系提交了2012级四个法律专业教学班的期末成绩单,为更好地掌握各个教学班学习的整体情况,教务处领导要求她制作成绩分析表,供学院领导掌握宏观情况。请根据考生文件夹下的“素材.xlsx”文档,帮助小李完成2012级
Nowadays,moreandmorewomenchoosetostayathometotakecareoftheirkids.Isitnecessaryforthemtoquittheirjobsand
最新回复
(
0
)