有以下程序: #include 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;

admin2020-06-16  50

问题 有以下程序:
    #include
    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]的值为l、4、…、6、1。通过for语句和if语句,对二维数组各列元素进行由小到大的排序操作,程序最后通过for语句输出二维数组对角线上的元素。因此D选项正确。
转载请注明原文地址:https://jikaoti.com/ti/8sG0FFFM
0

最新回复(0)