单选题 有以下程序:
#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][i]>a[k][i])
{
t=a[j][i];
a[j][i]=a[k][i];
a[k][i]=t;
}/*按列排序*/
for(i=0;i<4;i++)
printf("%d,",a[i][i]);
}
程序运行后的输出结果是______。
【正确答案】 D
【答案解析】[解析] 首先对二维数组进行赋值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值为1、4、…、6、1。通过for语句和if语句,对二维数组各列元素进行由小到大的排序操作,程序最后通过for语句输出二维数组对角线上的元素。因此D选项正确。