首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
admin
2012-01-13
27
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
经过反复修改的文档已经定稿,需要送到其他电脑上打印。为防止不同电脑不同软件版本或他人误操作导致文档发生变化,最好将该文档以()格式保存并传送。
计算机每次启动时自动运行的计算机病毒称为______病毒。
LCD显示器的响应时间为(2)时,显示的效果更好。
下面记录的是某班36人期末考试的数学成绩:971009596100879610089100936999891008188
在网页中创建一个如下图所示的表单控件的HTML代码是(26)。
阅读以下说明,回答问题1至问题6,将解答填入答题纸对应的解答栏内。【说明】在Linux下安装配置DHCP服务,DHCP服务程序/usr/sbin/dhcpd需要读取配置文件/etc/d/hcpd.conf,以下是一个DHCP配置文件的主要内容:
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。说明在一台计算机上安装完成Windows2000服务器及相应的服务组件。
连接主机A与交换机的单根网线的最大长度为多少?为了控制局域网用户访问Internet时只能进行WWW浏览,网管应该在路由器上采取什么措施?
Web客户端与服务器共同遵守(1)协议,默认端口号是(2),协作的过程是:Web客户端在浏览器的地址栏输入(3),连接到相应的WWW服务器上并获得指定的Web文档,然后断开与WWW服务器的连接,最后,Web文档以(4)格式在客户端解释。“如果服务器只有
随机试题
对尚未构成犯罪的侵犯商标权的行为,工商局可以根据情节处以罚款的金额为非法经营额的()
关于埃博拉病毒的描述,正确的有
A、东莨菪碱B、毛果芸香碱C、琥珀胆碱D、阿托品E、新斯的明阵发性室上性心动过速可选用( )。
A.药物治疗B.乳房切开引流术C.乳腺肿块切除术D.单纯乳腺切除术E.乳腺癌根治术乳房脓肿应做()
根据我国现行宪法和相关法律的规定,下列选项中哪些行为与宪法和法律不抵触?()
生产能力指数估算法与单位生产能力估算法相比,估算精确度()。
外墙计算高度,()。
“人而无信,不知其可也。”诚实守信是公民道德的基石,是对每个人最起码的道德要求。同时也是一种经济道德、社会公德。“诚招天下客,誉从信中来”,诚信是市场经济的本质属性,是企业宝贵的无形资产。诚信也是社会和谐的纽带,如果不能在公民中普遍地培育起诚信意识,人与人
所有来自中国的留学生,都住在校园内;所有住在校园内的学生,都必须参加运动会;有些中国留学生加人了学生会;有些心理学专业的学生也加入了学生会;所有心理学专业的学生都没有参加运动会。由此不能推出以下哪项结论?()
TherewasonceamaninSouthAmericawhohada【B1】______,apetbirdthatcould【B2】_____humanspeech.Theparrotwas【B3】______.
最新回复
(
0
)