打印对称杨辉三角

打印对称杨辉三角:如

《打印对称杨辉三角》

思想:杨辉三角是从第三行开始,上两个左右角上数的加和。故可以采用二维数组进行记录,赋值。

代码

#include <stdio.h>

int main()
{
    int n;
	int a[100][100];
	while(scanf("%d",&n)!=EOF) //可以循环输出
	{	int i,j;
	    for(i=1;i<=n;i++)  //每行第一个数和最后一个数字都是1
			a[i][1]=a[i][i]=1;

		for(i=3;i<=n;i++) //row
		{
		   for(j=2;j<=i-1;j++) //要小于i-1是因为最后一个数字1已经确定,这一行长度要少一个
			   a[i][j]=a[i-1][j-1]+a[i-1][j];
		}
                //以上完成杨辉三角但是不是对称的,以下是进行调整
		for(i=1;i<=n;i++) //调整格式
		{
		   for(int k=1;k<=n-i;k++)
			    printf("  ");
		   for(j=1;j<=i;j++)
		        printf("%4d",a[i][j]);
		   printf("\n");//一行结束换行
		}
	
	}

    return 0;
}

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/xxidaojia/article/details/79457399
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞