输出以下杨辉三角(要求输出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
-
设计思路:
首先观察这是一个二维数组或者一个矩阵,第一列和主对角元素都是1,其余元素为上一行元素的同一列和上一行元素的前一列。 -
那么就要编写一个二维数组,一个控制行一个控制列
-
#define N 10 就是宏定义,使得代码中每次出现N的值均为10
-
代码如下:
#include<stdio.h>
#define N 10
int main()
{
int a[N][N]={0};
for(int i=0;i<=N-1;i++){
for(int j=0;j<=i;j++){
a[i][j]=a[i-1][j]+a[i-1][j-1];
a[i][0]=1;
a[i][i]=1;
printf("%5d",a[i][j]);
}
printf("\n");
}
return 0;
}