#include <iostream> #include <algorithm> using namespace std; int a[4][5]; int main() { for(int i = 0; i < 4; i ++){ for(int j = 0; j < 5; j++){ cin>>a[i][j]; } } int b[5][4]; for(int i = 0; i < 5; i ++){ for(int j = 0; j < 4; j ++){ b[i][j] = a[j][i];//列转行,方便排序。 } } for(int i = 0; i < 5; i++){ sort(b[i], (b[i] + 4), greater<int>());//b行排序,即对a列排序; } int c[10];//统计a中每列中最大的两个数,按次序录入。 int count = 0; int i, j; for(i = 0; i < 5; i ++){ for(j = 0; j < 4; j ++){ if(a[j][i] >= b[i][1])//对列遍历,大于等于第二大的数录入 c[count++] = a[j][i]; } if(c[2 * i + 1] == b[i][1] && (b[i][1] == b[i][2] )){ c[2 * i + 1] = b[i][0];//由于列中有相同的第二大的数,导致最大值未录入数组c中情况,重新录入。 count--;//count计入错误,-1 } } for(int i = 0; i < 5; i ++){ cout<<c[2 * i]<<' '; } cout<<endl; for(int i = 0; i < 5; i ++){ cout<<c[2 * i + 1]<<' '; } } // 64 位输出请用 printf("%lld")