#include <iostream> using namespace std; int main() { int matrix[4][5]; for (int i = 0; i < 4; i++) for (int j = 0; j < 5; j++) cin >> matrix[i][j]; int ans[2][5] = {0}; for (int j = 0; j < 5; j++) { int q = 0; // 用来控制ans的输入列数 for (int i = 0; i < 4; i++) { int count = 0, t = 3; // count:计数器,统计当前值大于几个同列其他值;t:和另外‘3’个值比较 while (t--) if (matrix[i][j] >= matrix[(i + 1 + t) % 4][j]) // 比较同一列,选出最大的两个放入ans count++; if (count >= 2) { if (q >= 2 && ans[1][j] < matrix[i][j]) // 如果出现相同值,q会>=2,此时若后出现的值大于上一个保存到ans的值,则更改ans,否则不变 ans[1][j] = matrix[i][j]; ans[q][j] = matrix[i][j]; q++; } } } for (int i = 0; i < 2; i++) { for (int j = 0; j < 5; j++) cout << ans[i][j] << " "; cout << endl; } }