首页 > 代码库 > 三种方式求杨辉三角形

三种方式求杨辉三角形

第一种

#include<stdio.h>
int main()
{
	int n;
	int i,j;
	int a[100][50];
	scanf("%d",&n);
	a[0][0]=1;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
		{
			a[i][j]=a[i-1][j]+a[i-1][j-1];
			printf("%d ",a[i][j]);
		}
		printf("\n");
	
	}
	return 0;
}

第二种

#include <stdio.h>
#define N 4
int main()
{
 	int i,j,a[N][N]={0};
    for(i=0;i<N;i++)
    {
        a[i][0]=1;//第一列全为1 
        a[i][i]=1;//对角线全为1 
    }
    for(i=1;i<N;i++)
    {
    	for(j=1;j<i;j++)//从1开始,避免越界
            a[i][j]=a[i-1][j-1]+a[i-1][j]; 
    }
        
    for(i=0;i<N;i++)
    {
        for(j=0;j<=i;j++) //j<=i
		{
			printf("%d ",a[i][j]);//
		}  
  		printf("\n");
    }
 return 0;
}  

第三种

#include<stdio.h>
#define N 10
int main()
{
 	int i,j,a[10][10];
 	for(i=0;i<4;i++)
 	{
 		for(j=0;j<=i;j++)
		{ 
		 	if(j==0||i==j)
		 		a[i][j]=1;
 		    else 
		   		a[i][j]=a[i-1][j]+a[i-1][j-1];
		   		
		   	printf("%d ",a[i][j]);
	   	}
	   	printf("\n");
	}
}




三种方式求杨辉三角形