1240: 【基础】斜行方阵
题目描述
输入整数N,输出相应方阵。
输入
一个整数N。( 0 < n < 18 )
输出
一个方阵,每个数字的场宽为4。
样例输入
5
样例输出
11 7 4 2 1
16 12 8 5 3
20 17 13 9 6
23 21 18 14 10
25 24 22 19 15
提示

code
#include<iostream>
#include<iomanip>
using namespace std;
const int N(20);
int a[N][N];
int main()
{
int n;
cin>>n;
for (int i=0,begin=0,hd=1,ld=1;i<n;i++,ld++,hd++)
{
begin+=ld;
a[i][n-1]=begin;
for (int j=n-2,k=hd;j>=i;j--,k++)
a[i][j]=a[i][j+1]+k;
}
for (int i=0;i<n;i++)
for (int j=i;j<n;j++)
a[n-1-i][n-1-j]=n*n+1-a[i][j];
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
cout<<setw(4)<<a[i][j];
cout<<endl;
}
//system("pause");
return 0;
}
posted on 2012-08-14 14:15
龙在江湖 阅读(1430)
评论(0) 编辑 收藏 引用 所属分类:
基础