二维数组应用——用C语言实现10行等腰杨辉三角
2019-11-18
杨辉三角简介
杨辉三角是中国数学史上的一个伟大成就。它是二项式系数在三角形中的一种几何排列。在欧洲叫被称为帕斯卡三角形。帕斯卡(1623-1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。
我们把行数定义为n,即第一行为n=1,第二行为n=2,以此类推。我们不难发现如下规律:
1.每行的第一个数字和最后一个数字为1;
2.从n=3开始,每个数等于它上方两个数之和,即第(n+1)行的第m个数等于第n行的第(m-1)个数和第m个数之和;
3.第n行的数字有n项,第m个数和第(n-m+1)个数相等。
接下来,我们先利用C语言的二维数组的相关知识,试着打印出一个10行直角杨辉三角吧。
10行直角杨辉三角
我们刚刚已经分析了杨辉三角的相关性质,接下来我们用C语言先来编写一个直角的杨辉三角。代码实现如下:
1 | #include <stdio.h> |
输出结果如下:
1 | 1 |
从直角三角形到等腰三角形的进阶
我们已经成功写出了直角杨辉三角。接下来,我们来试着在它的基础上修改一下代码,让它能打印出等腰杨辉三角。
我们之前用C语言写过打印金字塔图形的程序。想要打印出等腰的金字塔图形,就要找出一些规律,通过控制行与列来控制何时打印空格,何时打印星号。实现从直角杨辉三角到等腰杨辉三角的进阶也是同样的道理,我们要试图控制空格的输出,来达到等腰三角形的效果。
最终用C语言实现如下:
1 | #include <stdio.h> |
输出结果如下:
1 | 1 |
写在最后
以上就是关于用C语言实现等腰杨辉三角的全部内容。如果有什么更好的想法,欢迎大家留言讨论。
我的邮箱:1398635912@qq.com
参考资料:百度百科【杨辉三角】(链接:link)