一个4*5的整形二维数组、从键盘输入数据为其赋值,对该数组的每一列按从小到大的顺序排列后输出。

谢谢。谁能帮我解答出来

第1个回答  推荐于2018-03-19
#include<stdio.h>
void main()
{
int a[4][5],i,j,temp,k;
printf("please input the numbers:\n");
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
printf("\n");
/*
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf("%d ",a[i][j]);//显示原矩阵。
printf("\n");
}
*/
for(i=0;i<5;i++)//共五列,分别对每一列排序,
for(k=0;k<3;k++)//1
for(j=0;j<3-k;j++)//2 1,2是用冒泡法排序,
if(a[j][i]>a[j+1][i])
{
temp=a[j][i];
a[j][i]=a[j+1][i];
a[j+1][i]=temp;
}
printf("\n");
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf("%-4d",a[i][j]);
printf("\n");
}
}本回答被提问者和网友采纳
相似回答