#include <bits/stdc++.h> using namespace std; class myNum{ public: int data; int rowNum; myNum(int data, int rowNum){ this->data = data; this->rowNum = rowNum; } myNum(){ data=0; rowNum=0; } }; int main() { int arr[4][5]; for(int i =0;i<4;i++) for(int j =0;j<5;j++) cin>>arr[i][j]; //找到每列最大的两个元素 myNum maxNum[5][2];//5表示列数,2表示每列两个最大的 for(int k=0;k<2;k++){ //i为列号 for(int i=0;i<5;i++){ int maxTemp=INT_MIN; int rowTemp = 0; for(int j =0;j<4;j++){ if(maxTemp<arr[j][i]){ //发现大元素,记录 maxTemp = arr[j][i]; rowTemp = j; } } //保存该元素和它的行号 myNum my(maxTemp,rowTemp); //数组中该元素置最小 arr[rowTemp][i]=INT_MIN; //该元素保存到maxNum中 maxNum[i][k] = my; } } //调整maxNum中的顺序,行号小的在上 for(int i =0;i<5;i++) if((maxNum[i][0]).rowNum>maxNum[i][1].rowNum) swap(maxNum[i][0],maxNum[i][1]); //遍历输出maxNum数组 for(int i =0;i<5;i++){ cout<<maxNum[i][0].data<<" "; } cout<<endl; //遍历输出maxNum数组 for(int i =0;i<5;i++){ cout<<maxNum[i][1].data<<" "; } } // 64 位输出请用 printf("%lld")