二维数组每列排序
二维数组每列排序 (10分)
一个4×5的整型二维数组,从键盘输入数据,并对该数组的每一列按从小到大的顺序排列后输出。
输入格式:
输入4行5列的矩阵,每行第一个数前没有空格,每行的每个数之间各有一个空格。
输出格式:
输出4行5列的矩阵,每行第一个数前没有空格,每个数输出占4列列宽。
输入样例:
5 1 1 4 2
1 2 3 4 5
8 4 5 2 1
7 5 3 6 4
输出样例:
1 1 1 2 1
5 2 3 4 2
7 4 3 4 4
8 5 5 6 5
#include<stdio.h>
int main()
{
int a[4][5];
int i,j,k,temp;
for(i=0;i<4;i++)//代表4行
{
for(j=0;j<5;j++)//代表5列
scanf("%d ",&a[i][j]);
}
for(j=0;j<5;j++)//代表5列
{
for(i=0;i<4;i++)//代表4行
{
for(k=i+1;k<4;k++)
{
if(a[i][j]>a[k][j])
{
temp=a[i][j];
a[i][j]=a[k][j];
a[k][j]=temp;
}
}
}
}
for(i=0;i<4;i++)//代表4行
{
for(j=0;j<5;j++)//代表5列
printf("%4d",a[i][j]);
printf("\n");
}
}