解题:计算机二级C语言!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/18 07:05:39
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]=[k][i];a[k][i]=t;}
for(i=0;i<4;i++)printf("%d,",a[i][i]);

j取的是0 ,k取的是1,2,3
j取的是1 ,k取的是2,3
j取的是2 ,k取的是3
而当a[j][i]>a[k][i]时就交换两者
就是说要保证第k行的所有对应元素小于第j行的所有对应元素
j为0时,保证了0行的元素对应列比1,2,3行元素对应列大
1次之,然后是2,3
实质是对每一列的行元素进行比较,也就是1,8,3,4
4,6,7,8 3,5,2,6 2,7,5,1

行排了之后是8,4,3,1 8,7,6,4 6,5,3,2 7,5,2,1
放入数组就是{8,8,6,7},{4,7,5,5},{3,6,3,2},{1,4,2,1}

楼下的不要抄哦!