首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
admin
2012-01-13
129
问题
阅读以下说明和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://www.kaotiyun.com/show/f6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel2010中,设单元格A1、B1、C1、A2、B2、C2中的值分别为1、2、3、4、5、6,若在单元格D1中输入函数“=MAX(A1:A2,B1:C2)”,按回车键后,则D1单元格中的值为(
下列关于输入声音时的采样频率和信息储存量的叙述中,正确的是(8)。
在Word2010中,要对设定好纸张大小的文档进行每页行数和每行字数调整,可通过页面设置对话框中的()命令进行设置。
在Microsoft Word中点击“文件”→“另存为”,在保存类型下拉框中不能选择的有(45)。
在Excel的A2单元格中输入:“=1=2”,则显示的结果是______。
下列选项中,衡量数据校验人员业务水平的主要指标是(20)。
Windows XP的许多应用程序的“文件”菜单中,都有“保存”和“另存为”两个命令。以下对这两个命令的叙述,正确的是(36)。
在WindowsXP中,删除某个应用程序在桌面上的快捷方式,则(42)。
在Windows XP操作系统中,某文件夹中有不少图像文件,此时利用菜单“查看”下的(12)选项便能浏览各图像文件的大致内容。
设机罪码的长度为8位,已知X、Z为带符号的纯整数,Y为带符号的纯小数,[X]原+[Y]补+[Z]移=11111111,求出X、Y、Z的十进制真值为:X=(16),Y=(17),Z=(18)。
随机试题
—IcannotfindTomanywhere.—He________havebeenofflong.Iheardhimmakeacalljustnow.
下列哪种细菌一般不用革兰染色法
就物流系统而言,物流信息管理系统是保证整个物流系统正常运作的关键,是物流系统的“心脏”。物流信息系统的建设则必须以物流信息的分类与编码、物流信息的采集、物流信息交换等的标准化为基础。()
下列维生素中,属于水溶性维生素的是()。
以下属于面试中的背景性问题的有()。
生活中我们经常看到具有对称美的建筑,在数学中也存在对称美.下列具有对称美的有().①直角梯形;②圆;③直角三角形;④圆锥;⑤互为反函数的两函数图象.
重力:流水
我们平常都用微波炉加热食物,以下对微波炉加热食物的描述准确的是()。
血液中调节呼吸运动最重要的理化因素是()
Thenicotinegumandpatchesareoftenusedbymillionsofsmokerstohelpkicktheirhabit.Buttheyhavenolastingbenefitan
最新回复
(
0
)