首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
admin
2012-01-13
41
问题
阅读以下说明和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存在的缺点。
选项
答案
可能由于动态内存申请操作失败而导致函数功能无法实现,没有释放动态数组空间(存在内存泄漏问题),时问和空间效率低。
解析
本问题考查程序分析基本能力。
解决同一个问题会有多种不同的方法,各种方法都有其特点。在本问题中,相比于函数CompactArr v2,CompactArr_v1的处理思路容易理解,由于数组a的数据需要复制给temp,然后再复制回来,因此需要更多的空间支持,处理速度时间也更长。另外,其代码执行时也可能由于申请内存空间的要求得不到满足,从而导致函数的功能不能实现,虽然发生这种情况的概率很低,但也有可能发生。此外,函数结束前也没有释放所申请的内存块。
转载请注明原文地址:https://kaotiyun.com/show/y6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
为保护个人信息不被泄露,每个人都需要提高安全意识。以下各项,除(62)外,都是应该养成的安全习惯。
()不属于信息污染。
上级要求信息处理技术员做a、b、c、d、e五件工作。先做什么,后做什么,如何安排呢?根据工作性质以及紧急程度,他列出了如下几条规则:a应在b前 c应在a前 d应在a前 a应在e前d应在b前 b应在e前 c应在d前 c应在
在Windows XP中,文件名中不允许出现的字符是(32)。
设完成某项工作最少需要6天,最可能需要8天,最多需要16天。人们常用加权平均来估计这项工作所需的时间,权值按1、4、1比例分配,完成该项工作估计需要________天。
在Word2010文档中,可通过()设置选定内容的行间距。
下图是某国多年来统计的出生人数和死亡人数曲线图。从图中看出,该国从________________年以后,死亡人数超过了出生人数,出现了人口危机。
数据处理过程中经常会发生数据出错,因此,数据校验工作非常重要。实际工作中一般都需要采取某些有效的数据校验措施,但有些做法是很少采用的。例如,在每个处理阶段结束后,要求(26)。
阅读下列说明和HTML文本,分析其中嵌入的JavaScdpt脚本,将应填入(n)处的语句对应栏内。[说明]这是一个修改字符串的题目,此题中将字符串“hello,Iamnotastudent,Idonotlikecompute
随机试题
简述DES的基本思想。
记忆过程包括()
中度新生儿缺氧缺血性脑病症状最明显的时间是
下列属于欺诈发行股票、债券犯罪的构成要件的有()。I.客体要件Ⅱ.客观要件Ⅲ.主体要件Ⅳ.主观要件
同一财产抵押权与留置权并存时,()优先受偿。
D注册会计师负责对Y公司20×9年度财务报表进行审计。在获取和评价审计证据时,D注册会计师遇到下列事项,请代为做出正确的专业判断。D注册会计师在审计Y公司20×9年度财务报表时发现,Y公司20×9年1月1日采用分期收款方式向甲公司销售一套大型设备,合同
职业活动内在的道德准则是()
政府的行为对社会行为有着重要的__________和示范作用,所以,政务诚信建设必须__________,并且要抓实抓好。依次填入画横线部分最恰当的一项是()。
在通常情况下,下列的关系中,不可以作为关系数据库的关系是()。
Iinterviewedsomepeople___________________________(他们是最优秀的演说家和畅销书的作者).
最新回复
(
0
)