首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的函数sort(int n,int a[])对保存在数组a中的整数序列进行非递减排序。由于该序列中的元素在一定范围内重复取值,因此排序方法是先计算出每个元素出现的次
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的函数sort(int n,int a[])对保存在数组a中的整数序列进行非递减排序。由于该序列中的元素在一定范围内重复取值,因此排序方法是先计算出每个元素出现的次
admin
2014-05-07
32
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
在Word2010中,要对设定好纸张大小的文档进行每页行数和每行字数调整,可通过页面设置对话框中的()命令进行设置。
在Excel2007中,在单元格A1中输入函数“=LEN(”信息处理技术员”)”,按回车键后,则A1单元格中的值为__________。
在Excel2007中,在单元格A1中输入函数“=POWER(2,3)/MAX(1,2,4)”,按回车键后,则A1单元格中的值为__________。
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。33.
双击某个非可执行程序的文件名将(24)。
在Excel2007中,利用填充柄可以将数据复制到相邻单元格中。若选择含有数值的上下相邻的两个单元格,按住鼠标左键向下拖动填充柄,则数据将以(49)________________填充。
计算机病毒是一段程序,一般隐藏在______中。
Windows XP的许多应用程序的“文件”菜单中,都有“保存”和“另存为”两个命令。以下对这两个命令的叙述,正确的是(36)。
小张为本企业录入一篇领导讲话文稿。文稿中引用了该企业2008年的销售额和各产品的利润等数据。小张考虑到目前是2010年,从信息的实效性出发,决定对文稿中的这部分内容进行处理,则______做法最为恰当。
()是移动互联网的组成部分。
随机试题
0.1%苯扎溴铵溶液(新洁尔灭)浸泡消毒手术器械时,为防止生锈应添加的药物是()
环境污染物对人体的毒作用,主要取决于人体对污染物的
A.氯胺酮B.芬太尼C.麦角胺D.地西泮E.地巴唑根据《麻醉药品和精神药品品种目录(2013年版)》,属于第二类精神药品品种的是
会计监督职能是指会计在其核算过程中对经济活动的()所进行的审查。
“We do not know what is the matter with the quality.Please clarify.”最确切的翻译是( )
重庆有一处著名园林,曾是一座私家园林,始建于清末宣统年问。园林主人精心设计的“椿树绳桥”,既有江南园林特色,又有成为园中别具一格的景物,这座园林是()。
上海境内全为坦荡低平的平原,平均海拔高度为()米左右。
()提出了以“法”为中心,“法”“术”“势”相结合的法治思想。
根据下列材料设计教学片段。(1)《普通高中历史课程标准(实验)》:知道古代中国农业耕作方式和土地制度,了解古代中国农业经济的基本特点。(2)课文摘录:西周时期,农作物种类更加丰富,有粟、稻、黍、稷、麦、桑、麻等,后世的主要农作
有两个关系R和T如下。则由关系R得到关系T的操作是
最新回复
(
0
)