第九次作业
杨辉三角:
#include <stdio.h>
#define N 14
void main()
{
int i, j, k, n=0, a[N][N];
while(n<=0||n>=13){
printf("请输入要打印的行数:");
scanf("%d",&n);
}
printf("%d行杨辉三角如下:\n",n);
for(i=1;i<=n;i++)
a[i][1] = a[i][i] = 1;
for(i=3;i<=n;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<=n;i++){
for(k=1;k<=n-i;k++)
printf(" ");
for(j=1;j<=i;j++)
printf("%6d",a[i][j]);
printf("\n");
}
printf("\n");
}
心得体会:
第一列的数全部为1,其余的每一列的第一个数均为1.
每个数等于它上方两数之和。
第n行的数字有n项。
第n行数字和为2n-1。
每个数字等于上一行的左右两个数字之和。
打印数不要太大
define宏定义要注意