以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。
#include <stdio.h>
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,