有以下程序: void sort(int a[],int n) { int i,j,t; for(i=0;i<n-1;i++) for(j=i+l;j<n;j++) if(a[i]<a[

admin2012-12-03  16

问题 有以下程序:
    void sort(int a[],int n)
    { int i,j,t;
      for(i=0;i<n-1;i++)
         for(j=i+l;j<n;j++)
            if(a<a[j]){t=a;a=a[j];a;=t;}
    }
    main()
    {  int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
       sort(aa+2,5);
       for(i=0;i<10;i++)printf("%d,",aa);
       printf("\n");
    }
    程序运行后的输出结果是(    )。

选项 A、1,2,3,4,5,6,7,8,9,10
B、1,2,7,6,3,4,5,8,9,10
C、1,2,7,6,5,4,3,8,9,10
D、1,2,9,8,7,6,5,4,3,10

答案C

解析 sort函数是将数组按从大到小的顺序排序,主函数中调用了sort函数,sort(aa+2.5)表示从数组aa中下标为2的元素开始到下标为6的5个元素按从大到小的顺序排序,其他元素不变。注意,数组下标从0开始。
转载请注明原文地址:https://kaotiyun.com/show/90Pp777K
0

最新回复(0)