1 #include <stdio.h>
2 #define N 6//宏
3 int main(int argc, const char *argv[])
4 {
5 int a[N][N];
6 int i,j;
7 for(i=0;i<N;i++)//外循环,第一列和最后一列都是1
8 {
9 a[i][0]=1;
10 a[i][i]=1;
11 }
12 for(i=2;i<N;i++)//从第三行开始,第二个元素是其对应的上一行元素及其前一位之和
13 {
14 for(j=1;j<i;j++)
15 {
16 a[i][j]=a[i-1][j]+a[i-1][j-1];
17 }
18 printf("%d\t",a[i][j]);
19 }
20 for(i=0;i<N;i++)//循环输出
21 {
22 for(j=0;j<=i;j++)
23 {
24 printf("%d",a[i][j]);
25 }
26 printf("\n");
27 }
28 return 0;
29 }
1 #include <stdio.h>
2 #define N 10
3 int main(int argc, const char *argv[])
4 {
5 int a[N][N]={0};
6 int i,j;
7 a[0][0]=1;//控制第一行为1
8 for(i=1;i<10;i++)//外层控制行
9 {
10 a[i][0]=1;
11 for(j=1;j<=i;j++)//内存控制列
12 {
13 a[i][j]=a[i-1][j]+a[i-1][j-1];//杨辉三角的规律
14 }
15 }
16
17
18 //遍历
19 for(i=1;i<10;i++)
20 {
21 for(j=1;j<=i;j++)
22 {
23 printf("%-4d",a[i][j]);//左对齐-d,右对齐+d 行间数4
24 }
25 printf("\n");
26 }
27 return 0;
28 }