先把对角线和第一列元素初始化为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"); } }