求详解二级c语言题目2

来源:百度知道 编辑:UC知道 时间:2024/05/03 10:26:11
有下列程序
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][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]);
}

答案为 1,6,5,7

求高人详细解题过程。不胜感激。。。。

使每列从小排到大.即
1 4 2 1
3 6 3 2
4 7 5 5
8 8 6 7
由a[i][i]可知输出斜对角线上的函数.
即:1 6 5 7

定义的二维数组a每一列升序排列。最后输出这个数组左上角到右下角对角线的4个数字。