首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【说明】 对20个数进行排序,可以利用选择法,即从后19个比较过程中,选择一个最小的与第一个元素交换,依次类推,即用第二个元素与后18个进行比较,并进行交换。 【函数】
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【说明】 对20个数进行排序,可以利用选择法,即从后19个比较过程中,选择一个最小的与第一个元素交换,依次类推,即用第二个元素与后18个进行比较,并进行交换。 【函数】
admin
2010-01-15
42
问题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
对20个数进行排序,可以利用选择法,即从后19个比较过程中,选择一个最小的与第一个元素交换,依次类推,即用第二个元素与后18个进行比较,并进行交换。
【函数】
#define N 20
main()
{
int i,j,min,tem,a[N];
printf("please input twenty num:\n");
for(i=0;i<N;i)
{
printf("a[%d]=",i);
scanf("%d",&a
);
}
printf("\n");
for(i=0;i<N;i)
printf(",",a
);
printf("\n");
for(i=0;(1);i)
{
min=(2);
for(j=(3);j<N;j++)
if((4))
min=j;
tem=a
;
(5);
a[min]=tem;
}
printf("After sorted \n");
for(i=0;i<N;i++)
printf(",",a
);
}
选项
答案
(1)i<N-1 (2)i (3)i+1 (4)a[min]>a[j] (5)a[i]=a[min]
解析
本题考查C语言中的排序算法。
题目要求对20个数进行排序,并告诉我们利用选择法,即从后19个比较过程中,选择一个最小的与第一个元素交换,依此类推,即用第二个元素与后18个进行比较,并进行交换。它的每次排序的过程都是从元素中选取最小的一个排在当前排序序列的最前面,需要注意的是,程序中用数组的下标来协助完成排序。下面来具体分析程序。
第(1)空是循环的判断条件,而这个循环是一个二重循环的第一重,从程序中不难分析出,这个二重循环的作用是完成排序的过程,且这个排序的元素存放在数组a中,元素的个数为N个,而数组的下标是从0开始的,根据题目的意思,最多到最后一个元素的时候就不需要再排序了,它就是最大的元素。那么循环的上界应该是不大于N-1,因此此空答案为i<N-1。
第(2)空是给变量min赋一个值,根据题目要求,这个变量中存放的是当前排序序列中最小的元素的数组下标,而在开始排序之前,这里存放的是当前排序序列的第一个元素,每次参加排序的序列的第一个元素下标就是i,因此此空答案为i。
第(3)空是给第二重循环的循环变量j赋一个初值,这重循环的作用是从当前位置后面的元素中选一个最小的元素排在当前位置的后一个位置,那么循环应该是从当前位置的后一个位置开始,因此此空答案为i+1。
第(4)空是条件判断语句的判断条件,很明显,这个条件判断语句的作用是判断当前数组min中的值(最小元素)与当前位置元素的大小关系,如果小则继续与下一个元素比较,如果大则把数组中当前位置的元素的下标存放到min中,从min=j可以看出,应该是大,因此此空答案为a[min]>a[j]。
第(5)空也在循环中,从程序中不难看出是用来调换序列中元素的位置,上面的程序是将a
的值存放到临时变量tem中,a
中存放的元素应该是参加排序的序列中最小的元素值,而数组中下标min指明了序列中最小元素在数组中的位置,此空的任务就是将最小的元素放到数组的i位置,因此此空答案为a
=a[min]。
转载请注明原文地址:https://kaotiyun.com/show/vIjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel2010的A1单元格中输入函数“=ABS(ROUND(-1.478,2))”,按回车键后,A1单元格中的值为________________。
在Excel2010中,C3:C7单元格中的值分别为10、OK、20、YES和48,在。D7单元格中输入函数“=COUNT(C3:C7)”,按回车键后,D7单元格中显示的值为________________。
在Excel2010中,设A1单元格中的值为20,A2单元格中的值为60,若在C1单元格中输入函数“=AVERAGE(A1,A2)”,按回车键后,,则C1单元格中的值为(
在Excel2007中,在单元格A1中输入函数“=LEN(”信息处理技术员”)”,按回车键后,则A1单元格中的值为__________。
在Excel中,若A1单元格中的内容为“全国计算机技术与软件专业技术资格(水平)考试”,在A2单元格中输入函数=LEFT(A1,2),则A2单元格显示的内容是______。
随机试题
以下选项中关于C语言常量的叙述错误的是()。
Researchershavedeterminedto___________howbirdfluspreadsfromhumantohumanworldwide.
伤(病)残调整生命年(DALY)
流行病学诊断需要回答的问题不包括()
光纤布放时,槽道内光纤应顺直、不扭绞,应加套管或线槽进行保护,无套管保护处用扎带绑扎,但不宜过紧。拐弯处曲率半径至少大于光缆直径的()。
系统脱敏法的基本步骤是()。
Thatalackofwealthalltoooftentranslatesintopoorhealthmayseempainfullyobvious.Butnowareviewofhealthinequalit
下列描述中正确的是______。
Readthispassageaboutcheapfrillsinflying.ChoosethebestwordtofilleachgapfromA,B,CorD.Foreachquestion19—33
Architectsredesignedtheskyscraperafterpoliceexpressedconcernthatthe1,776-foot(540-metre)building____________(容易受到炸弹
最新回复
(
0
)