问题

以下程序中函数 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 ,

参考答案
您可能感兴趣的试题
  • 有 以下程序void f(int b[]){ int i;for(i=2;i<6;i++) b[i]*=2;}main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10},i;f
  • 有以下程序typedef struct{int b,p;}A;void f(A c) /* 注意: c 是结构变量名 */{ int j;c.b+=1; c.p+=2;}main( ){ int i;
  • 有以下程序main( ){ int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,j,k,t;for(i=0;i<4;i++)for(
  • 有以下程序main( ){ int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,k,t;for(i=0;i<3;i++)for(k=
  • 有以下程序void f(int *q){ int i=0;for( ; i<5;i++)(*q)++;}main( ){ int a[5]={1,2,3,4,5},i;f(a);for(i=0;i<5
  • 有以下程序#include main( ){ char p[20]={a,b,c,d},q[]=abc, r[]=abcde;strcpy(p+strlen