有以下程序 #include <stdio.h> main() { int a[4][4]={{1,4,3,2}, {8,6,5,7},

admin2021-07-09  15

问题 有以下程序
    #include <stdio.h>
    main()
    {
        int  a[4][4]={{1,4,3,2},
                      {8,6,5,7},
                      {3,7,2,5},
                      {4,8,6,1}};
        int i, j, k, t;
        for (i=0; i<4; i++)
            for (j=0; j<3; j++)
                for (k=j+1; k<4; k++)
                    if (a[j] > a[k])
                       {
                           t=a[j];
                           a[j] = a[k];
                           a[k] = t;
                       } /* 按列排序 */
        for (i=0; i<4; i++)
            printf("%d, ",a);
    }
程序运行后的输出结果是

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

答案D

解析 首先对二维数组进行赋值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值为1、4、…、6、1。通过for语句和if语句,对二维数组各列元素进行由小到大的排序操作,程序最后通过for语句输出二维数组对角线上的元素。因此D选项正确。
转载请注明原文地址:https://jikaoti.com/ti/SYz0FFFM
0

最新回复(0)