首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的函数sort(int n,int a[])对保存在数组a中的整数序列进行非递减排序。由于该序列中的元素在一定范围内重复取值,因此排序方法是先计算出每个元素出现的次
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的函数sort(int n,int a[])对保存在数组a中的整数序列进行非递减排序。由于该序列中的元素在一定范围内重复取值,因此排序方法是先计算出每个元素出现的次
admin
2014-05-07
59
问题
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面的函数sort(int n,int a[])对保存在数组a中的整数序列进行非递减排序。由于该序列中的元素在一定范围内重复取值,因此排序方法是先计算出每个元素出现的次数并记录在数组b中,再从小到大顺序地排列各元素即可得到一个非递减有序序列。例如,对于序列6,5,6,9,6,4,8,6,5,其元素在整数区间[4,9]内取值,因此使数组元素b[0--b[5]的下标0--5分别对应数值4--9,顺序地扫描序列的每一个元素并累计其出现的次数,即将4的个数记入b[0],5的个数记入b[1],依此类推,9的个数记入b[5]。最后依次判断数组b的每个元素值,并将相应个数的数值顺序地写入结果序列即可。
对于上例,所得数组b的各个元素值如下:
那么在输出序列中写入1个4、2个5、4个6、1个8、1个9,即得4,5,5,6,6,6,6,8,9,从而完成排序处理。
【C函数】
void sort(int n,int a[])
{ int*b;
int i ,k|number;
int minimum=a[0],maximum=a[0];
/*minimum和maximum分别表示数组a的最小、最大元素值*/
for(i=1;i<n;i++){
if((1))minimum=a
;
else
if((2))maximum=a
;
}
number=maximum-minimum+1;
if(number<=1)return;
b=(int*)calloc(number,Sizeof(int));
if(!b) return;
for(i=0;i<n;i++){/*计算数组a的每个元素值出现的次数并记入数组b*/
k=a
-minimum; ++b[k];
}
/*按次序在数组a中写入排好的序列*/
i= (3) ;
for(k=0;k<number;k++)
for(; (4);--b[k])
a[i++]=minimum+ (5) ;
}
选项
答案
(1)a[i]
maximum,或a[i]>=maximum,或其等价形式 (3)0 (4)b[k],或b[k]>0,或b[k]!=0,或其等价形式 (5)k
解析
本题考查C程序的基本语法和运算逻辑。
首先应认真分析题目中的说明,然后确定代码结构和各变量的作用。
空(1)和(2)所在for语句的功能是求出数组a中的最小元素minimum和最大元素maximum。在设置了minimum和maximum的初始值后,空(1)处的判断条件是只要目前的元素a
小于minimum,就需要更新minimum,反之,空(2)处的判断条件是只要目前的元素a
大于maximum,就需要更新maximum,因此空(1)处应填入a
>maximum或其等价方式。minimum和maximum的作用是要确定计数数组b的大小。
根据题目中的描述,序列中的每个元素a
都对应到计数数组b[]的一个元素b[k],对应方式为:k=a
一minimum,其中minimum是数组a中的最小元素,显然在计数时,一个数值出现一次,就在对应的b[k]中累加一次。
空(3)~(5)所在的语句组是产生排序后的序列,重新写入数组a。首先需明确变量i和k的作用,根据它们在该语句组中的出现位置,i用于表示数组a的元素下标,k用于表示数组b中元素的下标,因此,空(3)处应填入0,使得从数组a中下标为0的数组元素开始。通过循环控制“for(1k=0;k
0”或其等价形式。由于b[k]中记录的是元素k+minimum的出现次数,所以空(5)处应填入“k”,从而将元素值恢复后再写回去。
转载请注明原文地址:https://kaotiyun.com/show/dnjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel中,若A1单元格中的内容为“全国计算机技术与软件专业技术资格(水平)考试”,在A2单元格中输入函数=LEFT(A1,2),则A2单元格显示的内容是______。
《信息技术汉字字型要求和检测方法》(GB/T11460一一2009)属于______。
计算机使用了一段时间后,系统磁盘空间不足,系统启动时间变长,系统响应延迟,应用程序运行缓慢,此时,需要对系统进行优化。(28)________________不属于系统优化工作。
在Word的编辑状态下,先后新建了两个文档,但并没有对这两个文档做“保存”或“另存为”操作,则______。
计算机病毒是一段程序,一般隐藏在______中。
Windows XP的许多应用程序的“文件”菜单中,都有“保存”和“另存为”两个命令。以下对这两个命令的叙述,正确的是(36)。
计算机在接通电源后,系统首先由(41)程序对内部每个设备进行测试。
用高级语言编写的程序称为______。
在Windows7运行时,为强行终止某个正在持续运行且没有互动反应的应用程序,可按组合键Ctrl+Alt十Del启动(24)________________,选择指定的进程和应用程序,结束其任务。
随机试题
受胁迫而结婚的当事人请求撤销婚姻的,其行使撤销权的期间为【】
革兰阳性菌细胞壁的特点是
患者张某,72岁,腹泻待查收入院,医嘱:查血常规和电解质并做血培养。如将血液同时抽出,血液注入各试管的顺序是
患者,男,63岁。体胖,有高血压和糖尿病史。饱餐后突然感心前区闷痛,伴有气短痰多,纳呆恶心,含服硝酸甘油2分钟疼痛缓解。舌苔浊腻,脉滑。心电图示V3~V6导联T波倒置,心肌酶谱正常。应首先考虑的诊断是
删除了一个应用程序的快捷方式,也就删除了相应的应用程序。()
关于保证人承担责任的说法,下列表述正确的是()。
请认真阅读下列材料,并按要求作答。问题:如指导小学低年级学生学习材料,试拟定教学目标。
下列词语中,加下划线字的注音全都正确的一组是()
Womenexecutiveswhoplayedsports______(把事业上的成功归因于他们的运动经历).
TheLanguageLearningTheorycourseisanoptionduringthethirdsemesterofyourprogram.Itisanintroductiontoaspectsof
最新回复
(
0
)