1 /*杨辉三角 
 2 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
 3 Total Submission(s) : 1   Accepted Submission(s) : 1
 4 Font: Times New Roman | Verdana | Georgia 
 5 Font Size: ← →
 6 Problem Description
 7 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
 8 1
 9 1 1
10 1 2 1
11 1 3 3 1
12 1 4 6 4 1
13 1 5 10 10 5 1
14 
15 Input
16 输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数。 
17 Output
18 对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。 
19 Sample Input
20 2 3
21 
22 Sample Output
23 1
24 1 1
25 
26 1
27 1 1
28 1 2 1
29 */ 
30 #include<stdio.h>
31 int main()
32 {
33     int n;
34     while(scanf("%d",&n) != EOF)
35     {
36         int i , a ;
37         int s[n][n]; 
38         for(i = 0;i < n;i++)
39         {
40             if(i == 0)
41             {
42                 s[0][0]=1;
43                 printf("%d\n",s[0][0]);
44                 continue;
45             }
46             for(a = 0;a <= i;a++)
47             {
48                 if(a == 0)
49                 {
50                     s[i][a]=1 ;
51                     printf("%d ",s[i][a]);
52                 }
53                 else if(a == i)
54                 {
55                     s[i][a]=1 ;
56                     printf("%d\n",s[i][a]);
57                 }
58                 else
59                 {
60                     s[i][a]=s[i-1][a-1]+s[i-1][a];
61                     printf("%d ",s[i][a]);
62                 }
63             }
64         }
65         printf("\n");
66     }
67     return 0;
68 }