有以下程序: 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

admin2009-01-15  30

问题 有以下程序:    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<a[j]){ t=a;a=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);       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,

答案4

解析 本题考核的知识点是程序中算法的基本分析。sort()函数作用是将数组aa中的下标为偶数的元素按大到小排序.主函数中首先定义了一个长度为10的数组并赋值,然后调用 sort()函数,将数组aa中奇数个元素的值按大到小排序,因此执行完该函数后,数组中奇数个元素的值为9,7、5、3和1,故主函数中最后通过一个for循环输出数组aa中各元素的值为9、2、7、4、5、6、 3、8、1和10,所以,4个选项中选项C符合题意。
转载请注明原文地址:https://kaotiyun.com/show/qBXp777K
0

最新回复(0)