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

admin2011-06-13  30

问题 有以下程序:    main()    {int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,)},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,5,7,
B、8,7,3,1,
C、4,7,5,2,
D、1,6,2,1,

答案A

解析 本题首先定义了一个4行4列的二维数组,并用了三层for循环来进行由小到大的排序。外层循环变量i表示数组的列.第二层循环变量j表示数组的行,第三层循环用于求第i列第j行的最小值,其中通过if语句对相关数值进行比较和交换。最后通过for循环对排序后数组对角线上的元素输出。
转载请注明原文地址:https://jikaoti.com/ti/adB0FFFM
0

最新回复(0)