杨辉三角的C语言实现
我们在数学中学习过杨辉三角的基本知识,他的数学描述如下:
// 1 ---->第一行
// 1 1 ---->第二行
// 1 2 1 ---->第三行
// 1 3 3 1 ---->第四行
// 1 4 6 4 1 ---->第五行
- 我们可以看出,除了第一行和第二行的数字全为1之外,剩余的各行除了两端数字为1,中间的数字均为上一行对应的列和前一列的和
- ** 按照我们这样的思路,我们的C语言实现代码如下,考虑使用二维数组来实现。**
int main()
{
//首先定义二维数组
int array[5][5] = { 0 };
int i, j;
//i控制杨辉三角的行变化
for(i=0;i<5;++i)
//j控制杨辉三角的列变化
for (j = 0; j <= i; ++j)
{
if (0 == i || 1 == i)
{
array[i][j] = 1;
}
if (0 != j && i != j)
{
array[i][j] = array[i - 1][j - 1] + array[i - 1][j];
}
else
{
array[i][j] = 1;
}
}
for (i = 0; i < 5; ++i)
{
for (j = 0; j <=i; ++j)
{
printf("%d", array[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}
- 运行的结果如下图所示: