PTA 7-339 二维数组每列排序
分数 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
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int main(){
int a[4][5], temp;
//键入数据
for(int i = 0; i < 4; i++)
for(int j = 0; j < 5; j++)
scanf(" %d", &a[i][j]);
//每列排序(冒泡排序)
for(int j = 0; j < 5; j++)
for(int i = 0; i < 3; i++)
for(int p = i+1; p < 4; p++)
if(a[i][j] > a[p][j]){
temp = a[i][j];
a[i][j] = a[p][j];
a[p][j] = temp;
}
//输出数据
for(int i = 0; i < 4; i++){
for(int j = 0; j < 5; j++)
printf("%4d", a[i][j]);
printf("\n");
}
return 0;
}
解题思路:
略
归属知识点:
数组
循环结构