选择题 26.  有以下程序:
    #include<stdio.h>
    void fun(int a[],int n,int flag)
    {  int i=0,j,t;
    for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)
    if(flag)
    {  if(a[i]<a[j])
    {  t=a[i];
    a[i]=a[j];
    a[j]=t;}
    }
    else
    {  if(a[i]>a[-i])
    {  t=a[i];
    a[i]=a[j];
    a[j]=t;}
    }
    }
    main()
    {  int c[10]={7,9,10,8,3,5,1,6,2,4},i;
    fun(c,4,1);
    fun(c+4,6,0);
    for(i=0;i<10;i++)
    printf("%d,",c[i]);
    printf("\n");
    }
    程序运行后的输出结果是______。
【正确答案】 C
【答案解析】 本题中fun()函数作用是冒泡法排序,flag控制升序(0)或者降序(1)。n为参与排序的元素个数。a为数组的起始地址,因此,fun(a,4,1)数组的前4个降序排序,fun(a+4,6,0)对数组的第四项后6个元素进行升序排序。故结果为10,9,8,7,1,2,3,4,5,6。答案为选项C。