一、某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;
} 
京公网安备 11010502036488号