-
题目描述:
-
输入一个四行五列的矩阵,找出每列最大的两个数。
-
输入:
-
输入第一行包括一个整数n(1<=n<=1000),接下来的四行每行包括五个整数。代表一个四行五列的矩阵,矩阵元素全部是整数。
-
输出:
-
可能有多组测试数据,对于每组数据,按照样例输出的格式将每列最大的两个数输出,如果最大的两个数中的一个数在这一列中有多个相同的值,则行值取行值小的那一个。
输出时要保留原矩阵的行列顺序,即在原矩阵中行值小的,在输出矩阵中的行值依然小。
-
样例输入:
-
1 1 2 4 9 8 -1 4 9 8 8 12 9 8 7 0 7 8 9 7 0
-
样例输出:
-
12 9 9 9 8 7 8 9 8 8
-
提示:
-
每个数字后面都要输出一个空格
-
来源:
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
while(n--){
int B[4][5];
int A[2][5];
int i,j;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
cin>>B[i][j];
}
}
for(i=0;i<5;i++){
A[0][i]=B[0][i];
A[1][i]=B[1][i];
for(j=2;j<4;j++){
if(B[j][i]>A[0][i]||B[j][i]>A[1][i]){
if(A[0][i]<A[1][i]) A[0][i]=A[1][i];
A[1][i]=B[j][i];
}
}
}
for(i=0;i<2;i++){
for(j=0;j<5;j++){
cout<<A[i][j]<<" ";
}
cout<<endl;
}
}
return 0;
}