问题 单项选择题

以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序:
void sort(int a[],int n)
int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;i<n;j++)
if(a[i]<a[j]) t=a[i];a[i]=a[j];a[j]=t;

main()
int aa[10]=1,2,3,4,5,6,7,8,9,10,i;
sort(&aa[3],5);
for(i=0;i<10;i++) printf(’%d,",aa[i]);
printf("\n");

程序运行后的输出结果是( )。

A.1,2,3,4,5,6,7,8,9,10,

B.10,9,8,7,6,5,4,3,2,1,

C.1,2,3,8,7,6,5,4,9,10,

D.1,2,10,9,8,7,6,5,4,3,

答案

参考答案:C

解析: 本题中首先定义一个长度为10的整型数组,并初始化为“1,2,3,4,5,6,7,8,9,10”,然后调用排序函数sort(),对aa[3]开始的5个元素进行从大到小的排序,aa[0]、aa[1]、aa[2]、aa[8]、aa[9]并没有变化。sort()执行完毕后,接着执行后面的for语句输出数组aa中各个元素的值,所以输出为“1,2,3,8,7,6,5,4,9,10”。故4个选项中C正确。

单项选择题 B型题
填空题