思路
- 定义一个二维数组存放和输出
- 每一行第一列和对角线都是1
- 每个数是它左上方和右上方数的和
实现
inta[10][10],i,j; //定义二维数组用来存放for(i=0;i<10;i++) //遍历给第一列和对角线赋值1a[i][i]=1,a[i][0]=1; for(i=2;i<10;i++) //遍历给中间的每一个赋值for (j=1;j<i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++) //遍历输出 {for(j=0;j<i+1;j++) printf("%7d",a[i][j]); printf("\n"); //控制换行 }
实例