杨辉三角的性质:
(1)每行首尾数字为1;
(2)第n行共有n项;
(3)每行数字左右对称;
(4)第一行只有一个1,第二行有两个1,从第三行开始,除首位外其他项的值等于上一行与其相邻的数字之和。
代码只打印杨辉三角的前十行(靠左对齐),把首项(j0),和末项(ij)赋值为1,其余项用其算法求出。
#include<stdio.h>
int main()
{
int a[10][10];
int len1, len2, i, j;
len1 = sizeof(a) / sizeof(a[0]);
len2 = sizeof(a[0]) / sizeof(a[0][0]);
for (i = 0; i < len1; ++i)
{
for (j = 0; j <= i; ++j)
{
if (j == 0)
{
a[i][j] = 1;
}
else if (i == j)
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
}
for (int i = 0; i < len1; ++i)
{
for (int j = 0; j <= i; ++j)
{
printf("%-5d", a[i][j]);
}
puts("");
}
return 0;
}