7-1 打印杨辉三角 (20 分)

本题要求按照规定格式打印前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<bits/stdc++.h>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define mem(a,b) memset(a,b,sizeof(a))

int a[15][15]; 

int main()
{
	int n,i,j;
	a[0][0]=1;
	a[1][0]=1;
	a[1][1]=1;
	cin>>n;
	for(int k=n-1;k>0;k--)
		cout<<" ";
	cout<<"   1"<<endl;	
	for(i=1;i<n;i++)
	{
		for(int k=n-1;k>i;k--)
				cout<<" ";
		for(j=0;j<=i;j++)
		{	
			if(j==0||j==i)
				a[i][j]=1;
			else
				a[i][j]=a[i-1][j-1]+a[i-1][j];
			printf("%4d",a[i][j]);
		}
		cout<<endl;
	}
	return 0;
}