蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
输入
本题有多组数据,每组数据由一个正整数N组成。(N不大于100)
输出
对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。
样例输入
5
样例输出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
这一题主要是找规律发现输入的顺序为00;10,01;20,11,02;30,21,12,03;40,,31,22,13,04;
以此规律写出算法即可。。
#include<iostream>
#include<string.h>
#define N 100
using namespace std;
int a[N][N];
int main()
{ int n;
while(cin>>n)
{ memset(a,0,sizeof(a));
int row=0;
int value=1;
for(;row<n;++row)
for(int i=row,j=0;i>=0;i--,j++)
a[i][j]=value++;
for(int i=0;i<n;++i)
{ for(int j=0;j<n-i;++j)
{cout<<a[i][j] ;
if(j<n-i-1) cout<<" ";
}
cout<<endl;
}
} return 0;
}