有下列程序: 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[i][i]<a[k][k

admin2019-08-10  18

问题 有下列程序:
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循环对二维数组af4][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://kaotiyun.com/show/hSRp777K
0

最新回复(0)