一、某ASCII码方式输出
炫技??可读性极差printf("%d%c",arr[len],len? 32 :10 );
其实等价于,我注释掉的
#include<bits/stdc++.h> using namespace std; int n; static const int maxn=11; int solve[maxn][maxn]; int main() { while( ~scanf("%d",&n) ) { vector<int> arr; for(int i=0; i<n; ++i) { int sum=0; for(int j=0; j<n; ++j) { scanf("%d",&solve[i][j] ); sum+=solve[i][j]; } arr.push_back( sum ); } for(int lie=0; lie<n; ++lie) { int sum=0; for(int hang=0; hang<n; ++hang) { sum+=solve[hang][lie]; } arr.push_back( sum ); } int sum=0; for(int loop=0; loop<n; ++loop) { sum+=solve[loop][loop]; } arr.push_back( sum ); sum=0; for(int loop=0; loop<n; ++loop) { sum+=solve[loop][n-1-loop]; } arr.push_back( sum ); sort( arr.begin(), arr.end() ); int len=arr.size(); while( len-- ) { printf("%d%c",arr[len],len? 32 :10 ); // if( len ) // { // printf("%d ",arr[len] ); // } // else // { // printf("%d\n",arr[len] ); // } } } return 0; }
二、正常
稍微正常点也至少不会那样printf("%d%c",arr[len],len ? ' ': '\n' );
#include<bits/stdc++.h> using namespace std; int n; static const int maxn=11; int solve[maxn][maxn]; int main() { while( ~scanf("%d",&n) ) { vector<int> arr; for(int i=0; i<n; ++i) { int sum=0; for(int j=0; j<n; ++j) { scanf("%d",&solve[i][j] ); sum+=solve[i][j]; } arr.push_back( sum ); } for(int lie=0; lie<n; ++lie) { int sum=0; for(int hang=0; hang<n; ++hang) { sum+=solve[hang][lie]; } arr.push_back( sum ); } int sum=0; for(int loop=0; loop<n; ++loop) { sum+=solve[loop][loop]; } arr.push_back( sum ); sum=0; for(int loop=0; loop<n; ++loop) { sum+=solve[loop][n-1-loop]; } arr.push_back( sum ); sort( arr.begin(), arr.end() ); int len=arr.size(); while( len-- ) { printf("%d%c",arr[len],len?' ':'\n'); // if( len ) // { // printf("%d ",arr[len] ); // } // else // { // printf("%d\n",arr[len] ); // } } } return 0; }