若有以下程序 #include voidfun(inta[],intn) {intt,i,j; for(i=1;i<n;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;} }

admin2015-07-31  24

问题 若有以下程序
#include
voidfun(inta[],intn)
{intt,i,j;
for(i=1;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()
{intc[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、2,9,4,7,6,5,8,3,10,1,
D、10,1,8,3,6,5,4,7,2,9,

答案D

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

最新回复(0)