#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int m; vector<int> vec; while(cin>>m){ vec.clear(); int a[m][m]; for(int i=0; i<m; i++){ for(int j=0; j<m; j++){ scanf("%d",&a[i][j]); } } int first_sum=0;//声明在外面,主对角线和 for(int i=0; i<m; i++){ int sum_line = 0,sum_col=0;//行,列 for(int j=0; j<m; j++){ sum_line += a[i][j]; sum_col += a[j][i]; if(i==j) first_sum += a[i][j]; } vec.push_back(sum_line); vec.push_back(sum_col); } vec.push_back(first_sum);//必须在外层循环结束后 int second_sum=0; for(int i=0; i<m; i++){ int j=m-i-1;//不能放在循环()内,注意i+j=m-1,注意j的取值 second_sum +=a[i][j]; } vec.push_back(second_sum); sort(vec.begin(),vec.end()); reverse(vec.begin(),vec.end()); //sort(arr.begin(),arr.end(),greater<int>());//注意() for(auto num : vec){ cout<<num<<' '; } cout<<endl; } }