#include <stdio.h> int main() { int n=0; int a[34][34];//n最大为34,故只需定义34大小的数组; int i,j; scanf("%d",&n); for( i=0;i<n;i++){ for( j=0;j<=i;j++){ a[i][0]=1;//每行第一个数赋值为1; if(j>=1&&i>=1){ a[i][j]=a[i-1][j]+a[i-1][j-1]; } if(j==i){ a[i][j+1]=0;//使每行末尾的后一位为0,由此可以得到每行末尾的数为1,由于循环结束为i=j,故0不会被打印出来; } printf("%d ",a[i][j]); } printf("\n"); } return 0; }