先把对角线和第一列元素初始化为1,从第三行开始,利用初始值扩充矩阵其余元素(上方元素+左上方元素),然后输出矩阵即可:
#include<stdio.h>
int main(){
int n,i,j;
scanf("%d",&n);
int a[30][30];
for(i=0;i<n;i++)
for(j=0;j<=i;j++){
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<n;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<n;i++){
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
京公网安备 11010502036488号