代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i, j; //i控制行数,j控制列数
int n;
int **a;//动态申请分配内存
scanf("%d", &n);
a = (int**)malloc(sizeof(int*)*n);
for(i=0; i<n; i++)
{
a[i] = (int*)malloc(sizeof(int)*n);
}
for(i=0 ;i<n; i++)//对第一列和对角线赋值为1
{
a[i][0] = 1;
a[i][i] = 1;
}
for(i=2; i<n; i++)//计算其他数
{
for(j=1; j<n-1; j++)
{
a[i][j] = a[i-1][j-1] + a[i-1][j];//杨辉三角关系式
}
}
for(i=0; i<n; i++)//打印杨辉三角
{
for(j=0; j<i+1; j++)
{
printf("%4d", a[i][j]);
}
printf("\n");
}
free(a);
return 0;
}
示例: