打印杨辉三角

本题要求按照规定格式打印前N行杨辉三角。

输入格式:
输入在一行中给出N(1≤N≤10)。

输出格式:
以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。

输入样例:
6
结尾无空行
输出样例:
        1
       1   1
      1   2   1
     1   3   3   1
    1   4   6   4   1
   1   5  10  10   5   1
结尾无空行
#include <stdio.h>
int main()
{
	int N;
	int count = 1;      //累加器
	scanf("%d",&N);
	int a[11][40]={0};


	for(int i=0;i<=N;i++)       //存入数据
	{
		for(int j=0;j<i;j++)
		{
			if(i==0 && j==0)
			{
				a[0][0]=1;
			}
			if(i==1 && j==0)
			{
				a[1][0]=1;
			}
			if(i==1 && j==1)
			{
				a[1][1]=1;     //前几位共通
			}
			if(i>=2)
			{
				a[i][j]=a[i-1][j-1]+a[i-1][j];      //符合规律的数
			}
		}
	}


	for(int i=0;i<=N;i++)
	{
		for(int k=N-count;k>=0;k--)
		{
			if(i==0)continue;
			printf(" ");                 //打印让三角偏移的空格
		}
		for(int j=0;j<i;j++)
		{

			printf("%4d",a[i][j]);
		}
		count++;
		if(i==0)continue;
		printf("\n");

	}

}

更多推荐