下面我来为您详细讲解“C语言小程序 杨辉三角示例代码”的攻略。
什么是杨辉三角
杨辉三角,又称帕斯卡三角形,是二项式系数在三角形中的一种几何排列。它是中国古代数学的杰出研究成果之一,杨辉是唐朝末年、宋朝初年的一位著名数学家。
杨辉三角的规律是:每个数等于它上方两数之和。它的形状如下图所示:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
杨辉三角实现方式
C 语言实现杨辉三角可以采用二维数组,也可以使用一维数组。
二维数组实现
二维数组的实现方式比较直观,可以将杨辉三角看成一个 n 行 n 列的矩阵,数组的第 i 行 j 列元素是杨辉三角中第 i 行的第 j 个数。
示例代码:
#include <stdio.h>
#define N 10
int main()
{
int i, j;
int triangle[N][N] = {0};
for (i = 0; i < N; i++)
{
triangle[i][0] = 1;
for (j = 1; j <= i; j++)
{
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
for (i = 0; i < N; i++)
{
for (j = 0; j <= i; j++)
{
printf("%5d", triangle[i][j]);
}
printf("\n");
}
return 0;
}
上述代码中,triangle
数组用来存储杨辉三角的数据,数组元素初值为 0。
外层循环是计算杨辉三角的行数 i
,内层循环是计算杨辉三角中每一行的元素。
一维数组实现
一维数组的实现方式比较巧妙,可以利用杨辉三角的性质,每一行的最后一个元素都是 1,每个数等于上一行它的位置和前一个位置的数之和。
示例代码:
#include <stdio.h>
#define N 10
int main()
{
int i, j;
int triangle[N] = {1, 0};
for (i = 1; i <= N; i++)
{
for (j = i; j >= 1; j--)
{
triangle[j] += triangle[j - 1];
}
for (j = 0; j < i; j++)
{
printf("%5d", triangle[j]);
}
printf("\n");
}
return 0;
}
上述代码中,triangle
数组用来存储杨辉三角的数据,数组元素初值为 1 和 0。
外层循环是计算杨辉三角的行数 i
,内层循环是计算杨辉三角中每一行的元素。
示例说明
示例一
假如现在需要打印出杨辉三角的前五行,可以使用上面的二维数组实现方式。
将上面的示例代码中的 N 宏定义改为 5,编译运行代码,程序输出如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
示例二
假如现在需要打印出杨辉三角的前五行,可以使用上面的一维数组实现方式。
将上面的示例代码中的 N 宏定义改为 5,编译运行代码,程序输出如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
以上就是“C语言小程序 杨辉三角示例代码”的完整攻略,希望能够帮助到您。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言小程序 杨辉三角示例代码 - Python技术站