二维数组每列排序
二维数组每列排序 (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");
    }
}


腾讯云智研发成长空间 217人发布