有下列程序: 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+l;k<4;k+ +)if(a[i][i]<a[

admin2020-05-19  28

问题 有下列程序:
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+l;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://kaotiyun.com/show/urCp777K
0

最新回复(0)