有下列程序: main() {int a[4][4]={{1,4,3,2},{8,6,5,7),{3,7,2,5},{4,8,6,1}},i,k,t; for(i=0;i<3;i++) for(k=i+1;k<4;k++

admin2017-04-26  24

问题 有下列程序:
    main()
    {int a[4][4]={{1,4,3,2},{8,6,5,7),{3,7,2,5},{4,8,6,1}},i,k,t;
     for(i=0;i<3;i++)
     for(k=i+1;k<4;k++)if(a<a[k][k]){t=a;a=a[k][k];a[k][k]=t;}
     for(i=0;i<4;i++)printf("%d,",a[0]);
    }
程序运行后的输出结果是

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

答案D

解析 利用二重for循环对二维数组a[4][4]的主对角线上的元素{1,6,2,1}实现按列从大到小排序,所以数组a[4][4]的值变为{{6,4,3,2,},{8,2,5,7},{3,7,1,5),{4,8,6,1}},最后输出数组a[4][4]第一行上的元素,所以输出结果为6,4,3,2。
转载请注明原文地址:https://jikaoti.com/ti/bCi0FFFM
0

最新回复(0)