问答题
阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。
【说明】
程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列,并将排序结果显示出来。
【程序】
#define N 10
main()
{
void {{U}}(1) {{/U}};
int
i,a[N];
for(i=0;i<10,i++) /*输入*/
scanf(“%d”,&a[i]);
{{U}} (2)
{{/U}};
for(i=0;i<N,i++)
/*输出*/
printf(“%3d”,a[i]);
}
void selectSon(int x[],int n)
{
int i,j,k,t;
for(int i=0;{{U}} (3) {{/U}};i++)
{
k=i;
for(j=i+1;j<n;j++)
if{{U}} (4) {{/U}}k=j;
if{{U}} (5) {{/U}}
{t=x[i];x[i]=x[k];x[k] =t;}
}
}
【正确答案】
【答案解析】selectSort(a,N)
[解析] 接收完用户输入之后,调用函数selectSort(a,N)。
【正确答案】
【答案解析】i<n-1
[解析] 共需要进行n-1次循环,所以i循环到n-1时结束。
【正确答案】
【答案解析】x[j]<x[k]
[解析] k用于存放每轮比较时数值最小的元素的下标,当j处元素小于k处元素时,j赋给k。
【正确答案】
【答案解析】k! =i
[解析] 第一个元素x[i]不是最小元素时,交换x[i]和x[k]。