若有以下程序 #include <stdio.h> void fun(int a[ ], int n) { int t, i, j; for ( i=0; i<n; i+=2 )

admin2020-06-16  30

问题 若有以下程序
     #include <stdio.h>
     void fun(int  a[ ], int  n)
     {  int  t, i, j;
        for ( i=0;  i<n;  i+=2 )
           for ( j=i+2;  j<n;  j+=2 )
             if ( a > a[j] ) {  t=a;  a=a[j];  a[j]=t; }
     }
     main()
     {  int  c[10]={10,9,8,7,6,5,4,3,2,1},i;
        fun(c, 10);
        for ( i=0; i<10;  i++ )  printf("%d,", c);
        printf("\n");
     }
则程序的输出结果是

选项 A、1,10,3,8,5,6,7,4,9,2,
B、10,9,8,7,6,5,4,3,2,1,
C、10,1,8,3,6,5,4,7,2,9,
D、2,9,4,7,6,5,8,3,10,1,

答案D

解析 该题首先对一维数组进行初始化,c[0]到c[9]依次赋值为10到1;fun(c, 10);语句调用fun函数,fun函数的功能是将一维数组奇数位元素的数值由小到大排序;最后将排好序的新的一维数组进行输出,因此D选项正确。
转载请注明原文地址:https://kaotiyun.com/show/77Cp777K
0

相关试题推荐
最新回复(0)