#include <stdio.h> #define N 14 /* 请输入要打印的行数:10 10行杨辉三角如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 */ /*这样可以看得更清楚规律:arrary[i][j]=arrary[i-1][j-1]+arrary[i-1][j]; //除过边缘的1 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 */ int main() { int i,j,k,arrary[N][N],m; scanf ( "%d" ,&m); for (i=1;i<=m;i++) arrary[i][i]=arrary[i][1]=1; for (i=3;i<=m;++i) for (j=2;j<=i-1;++j) arrary[i][j]=arrary[i-1][j-1]+arrary[i-1][j]; //核心代码 for (i=1;i<=m;i++) { for (k=1;k<=m-i;k++) printf ( " " ); for (j=1;j<=i;j++) printf ( "%6d" ,arrary[i][j]); printf ( "
" ); } }
|