杨辉三角

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define N 13
 4 
 5 
 6 int main(void)
 7 {
 8 
 9     // 定义二维数组
10     int a[N][N] = { 0 };
11     int i = 0, j = 0;
12 
13     for (i = 0; i < N; i++)
14     {
15         for (j = 0; j < N; j++)
16         {
17             if (j == 0 || i == j) // 第一列和对角线为 1
18             {
19                 a[i][j] = 1;
20             }
21             else
22             {
23                 a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
24             }
25         }
26     }
27     // 数组形
28     for (i = 0; i < N; i++)
29     {
30         for (j = 0; j <= i; j++)
31         {
32             printf("%4d", a[i][j]);
33         }
34         printf("\n");
35     }
36 
37     // 金字塔形状
38     for (i = 0; i < N; i++)
39     {
40         printf("%*d", 30 - i * 2, a[i][0]);    // * 代表宽度
41 
42         for (j = 1; j <= i; j++)
43         {
44             printf("%4d", a[i][j]);
45         }
46         printf("\n");
47     }
48 
49     system("pause");
50     return 0;
51 }

 

posted @ 2018-03-04 18:44  NoThx  阅读(116)  评论(0编辑  收藏  举报