蛇形取数之【特殊的三角形】

题目描述

有这样一种特殊的N阶的三角形,当N等于3和4时,矩阵如下:

请输出当为N时的三角形。

输入格式

输入有多组数据,每行输入一个正整数N,1<=N<=100

输出

按照给出的样例进行输出

样例输入

3

样例输出

1 2 6
3 5
4




#include<stdio.h>
int n,i,j,a[100][100],p,q,t,s;
void print()
{
    for(i=0;i<n;++i)
        {
            printf("%d",a[i][0]);
            for(j=1;j<s;++j)
                printf(" %d",a[i][j]);
            puts("");s--;
        }
}
int main()
{   void print();
    while(~scanf("%d",&n))
    {
        p=1; t=2; q=0; a[0][0]=1;
        while(p<n)
        {
            for(i=p;i>=0;--i)
                a[q++][i]=t++;
            p=0;
            if(q>=n)break;
            for(j=q;j>=0;--j)
                a[j][p++]=t++;
            q=0;
        }
        s=n;
        print();
    }
	return 0;
}


你可能感兴趣的:(蛇形取数之【特殊的三角形】)