有以下程序: #include<stdio.h> 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+

admin2020-07-28  28

问题 有以下程序:
#include<stdio.h>
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、1,1,2,6,
B、6,2,1,1,
C、6,4,3,2,
D、2,3,4,6,

答案C

解析 首先对二维数组进行赋值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值为1、4、…、6、1。通过for嵌套循环语句和if条件语句,对二维数组对角线元素进行由大到小的排序操作,程序最后通过for语句输出二维数组第1行的4个元素。因此C选项正确。
转载请注明原文地址:https://kaotiyun.com/show/4P3p777K
0

最新回复(0)