以下程序函数f的功能是:当flag为1时,进行由小到大排序:当flag为0时,进行由大到小排序 void flint b[],int n,int flag) main() {int i,j,t;

admin2020-05-19  28

问题 以下程序函数f的功能是:当flag为1时,进行由小到大排序:当flag为0时,进行由大到小排序
    void flint b[],int n,int flag)     main()
    {int i,j,t;                          {int a[10]={5,4,3,2,1,6,7,8,9,10},i;
    for(i=0;i    for(j=i+1 j);
    if(flag?b>blj]:b<[j])         }
    {t=b;b=b[j];b[j]=t;} }
    程序运行后的输出结果是

选项 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,

答案B

解析 本题主要考查函数的调用。在min函数中,两次调用f函数进行排序,f函数有三个参数,第一个参数是数组地址,第二个参数是需要排序的数据个数,第三个参数指定排序依据。第一次调用f函数的时候,从第三个元素开始对5个元素进行从大到小的排序,因此调用f函数转换数组a的值分别为:5,4,7,6,3,2,1,8,9,10;第二次调用f函数对数组a的前5个元素进行从小到大的排序,因此排序完成后数组a的值变成:3,4,5,6,7,2,1,8,9,10。
转载请注明原文地址:https://kaotiyun.com/show/oSCp777K
0

最新回复(0)