首先我们先来分析一下杨辉三角形的结构
由此可见我们需要斜边为1,且直角边为1,在分析一下里面的内容
从第二排开始,中间的数为上两位数之和,由此我们可以得出以下代码
int main()
{
int a[10][10] = { 0 };//创建一个10行10列的数组用来存储三角形
int i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
if (i == j)//斜边为1
a[i][j] = 1;
if (j == 0)//直角边为1
a[i][j] = 1;
if (i >= 2)//中间变化的数
a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
}
}
但是我们需要输出的是一个等腰三角形,我们只需要输出一个倒三角
for (i = 0; i < 10; i++)
{
int x = 0;
for (x = 0; x < 10-i; x++)//输出空格
printf(" ");
for (j = 0; j <= i; j++)
{
printf("%6d", a[i][j]);//输出整形,每一个整形占6个字节
}
printf("\n");
}
最后让我们来运行一下把