杨辉三角(代码直接呈现,便于理解)

发布时间:2024年01月18日
摘要:杨辉三角是一个由数字构成的三角形,其特点是每一行的每个数字都是上一行相邻两个数字之和。本文将介绍杨辉三角的原理,以及如何在C语言中实现杨辉三角的生成。

一、杨辉三角的原理

杨辉三角,又称为帕斯卡三角,是一个在数学史上具有重要意义的三角形。它的每一行都是由上一行的相邻两个数字之和构成的。从第一行开始,每一行的第一列和最后一列都是1。接下来,每一行的数字都是通过上一行的相邻两个数字之和得到的。例如,第二行的数字为1,1,第三行的数字为1,2,1(1+1=2),第四行的数字为1,3,3,1(1+2=3,2+1=3)。

二、杨辉三角的C语言代码实现

下面给出一个简单的C语言代码,用于生成行数为十的杨辉三角:
int main()
{
?? ?int arr[10][10] = { 0 };
?? ?int a = 1;
?? ?int b = 1;

?? ?for (a = 0; a < 10; a++)
?? ?{
?? ??? ?b = 10 - a;
?? ??? ?while (b--)
?? ??? ?{
?? ??? ??? ?printf(" ?");
?? ??? ?}

?? ??? ?arr[a][0] = 1;//注意访问数组是从0开始(数组的最低下标是0)

?? ??? ?for (b = 0; b <= a; b++)
?? ??? ?{
?? ??? ??? ?if (a == b)
?? ??? ??? ??? ?arr[a][b] = 1;
?? ??? ??? ?if (a > 1 && b >= 1)
?? ??? ??? ??? ?arr[a][b] = arr[a - 1][b - 1] + arr[a - 1][b];//上一行前一列和本列数之和
?? ??? ??? ?printf("%4d ", arr[a][b]);//赋值完一行后直接打印得到的整体打印效果就是直接
?? ??? ?}
?? ??? ?printf("\n");
?? ?}
?? ?return 0;
}
代码解析:
1. 提示用户输入要生成的行数。(根据需要判断是否要这一步)
2. 使用嵌套的for循环来遍历每一行和每一列。
3. 在每一行开始时,使用内部for循环打印一些空格,以便使得三角形居中。
4. 在每一行内部的第二个for循环中,计算并打印每个数字。对于每一行的第一个数字或者是每一行的第一个和最后一个数字,设定为1。对于其他数字,通过将其设置为上一行相邻两个数字的和来计算。使用一个变量coef来保存每个数字的值。
5. 在每一行结束后,通过使用printf("\n")来打印一个换行符,将光标移动到下一行的开头。
6. 循环直到所有行都打印完毕。

运行该代码,就可以输出一个行数为十的杨辉三角


通过本文,你了解了杨辉三角的原理以及如何在C语言中实现杨辉三角的生成。在实际应用中,杨辉三角可以用于快速计算阶乘、斐波那契数列等。希望这篇博客对你有所帮助!
文章来源:https://blog.csdn.net/2301_80220607/article/details/135617022
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。