问题
单项选择题
有以下程序
void sort(int a[],int n)
int i,j,t;
for(i=0;i<n-1;i+=2)
for(j=i+2;j<n;j+=2)
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,10);
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.9,2,7,4,5,6,3,8,1,10,
D.1,10,3,8,5,6,7,4,9,2,
答案
参考答案:C
解析:sort()函数作用是将数组aa中伪下标为偶数的元素按大到小排序。主函数中首先定义了一个长度为10的数组并赋值,然后调用sort()函数,将数组aa中奇数个元素的值按大到小排序,因此执行完该函数后,数组中奇数个元素的值为9、7、5、3和 1,故主函数中最后通过一个for循环输出数组aa各元素的值为9、2、7、4、5、6、3、8、1和10。