问题详情

以下程序中函数 f 的功能是 : 当 flag 为 1 时 , 进行有由小到大排序 ; 当 flag 为 0 时 , 进行由大到小排序。

void f(int b[],int n,int flag)

{ int i,j,t;

for(i=0;i<n-1;i++)

for (j=i+1;j<n;j++)

if(flag?b[i]>b[j]:b[i]<b[j]) { t=b[i];b[i]=b[j];b[j]=t; }

}

main( )

{ int a[10]={5,4,3,2,1,6,7,8,9,10},i;

f(&a[2],5,0); f(a,5,1);

for(i=0;i<10;i++) printf("%d",a[i]);

}

程序运行后的输出结果是

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

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

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

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

参考答案
您可能感兴趣的试题