首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
admin
2012-01-13
50
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
数据分析经常需要把复杂的数据分组,并选取代表,将大量数据压缩或合并得到一个较小的数据集。这个过程称为()。
为防止重大灾难毁灭重要数据,大型数据中心应实行(67)制度。
在浏览网页时,当鼠标指针移至某些文字或某些图片时,会出现手形状,通常是由于网页在这个地方做了(17)。
假设在Access中已经建立了“学生”表,表中包括“学号”、“姓名”、“性别”和“班级”等字段,如果要统计出每个班级的人数,那么在查询设计视图的“班级”的“总计”行和“学号”的“总计”行中应分别选择(65)。
双击某个非可执行程序的文件名将(24)。
某信息处理技术员正在做大批数据处理的大项目时,领导又交宋了另一项临时性的紧迫工作,要求优先处理。该信息处理技术员需要转而做新的工作,他对原工作的处理方式应该是(69)。
为将演示文稿置于另一台不带PowerPoint系统的计算机上放映,那么在放映前应该对演示文稿进行()。
用计算机处理信息时,常对许多信息采用适当的编码。例如职工编码、商品编码、性别编码、文化程度编码等。编码有许多好处,但不包括(66)。
数据处理过程中经常会发生数据出错,因此,数据校验工作非常重要。实际工作中一般都需要采取某些有效的数据校验措施,但有些做法是很少采用的。例如,在每个处理阶段结束后,要求(26)。
该公司用一个C类地址块202.119.110.0/24组网,将下表中的(1)~(6)处空缺的主机地址或子网掩码填写在答题纸的相应位置。发现子公司A的某台PC机无法访问web服务器,做如下检查:1)查看网上邻居,发现该PC机可以访问子公司A内
随机试题
女性,67岁,肺心病病史20年,此次患肺炎,两周来咳嗽、咳痰,今晨呼吸困难加重,烦躁不安,意识恍惚。查体:体温37.4℃,脉搏110次/min,呼吸36次/min,节律不整,口唇发绀,两肺底闻及细湿哕音,心(-),腹(-),血压正常。患者最可能出现了下
原发性肝癌肝区疼痛的特点是
中标通知书发出( )天内,中标单位应与建设单位签订工程承包合同。
因为安全边际是正常销售额超过盈亏临界点销售额的差额,并表明销售额下降多少企业仍不至于亏损,所以安全边际部分的销售额也就是企业的利润。()
食品生产经营者在有发生食品安全事故潜在风险时,应当立即停止食品生产经营活动,并向所在地()报告。
教师职业道德与其他职业道德相同的是()。
怎样理解教学过程首先是一种认识过程?
一切认识都是主观对客观的反映,所有反映都是真理。()
IfIaskyouwhatconstitutes"bad"eating,thekindthatleadstoobesityandavarietyofconnecteddiseases,you’relikelyto
ARoadAccidentItwasraining(11)asIwaswalkingupthehilltowardsthestationatsixo’clockonaSaturdaymorning.
最新回复
(
0
)