杨辉三角(C语言实现)

简介: 大家好,我是十七,今天分享杨辉三角的简单实现。

大家好,我是十七,今天分享杨辉三角的简单实现。


0da89c1f2f6e4ac5b406f69ee87c5cdf.png

上图是杨辉三角的排列


如果我们只关注如何编程,我认为主要有三个规律:


1. 每一行的第一个元素为1

2. 每一行的最后一个元素为1

3. 前一行某两个数相加等于后一行的某一个数值


87abc09742b84e6ba2cccc40a04ac0dd.jpg


我们可以将三角形先如上排序,然后创建一个二维数组arr[ i ][ j ]来实现


基于以下的三个规律:


1. 任一行的第一列元素为1

用C语言实现:把1 赋值给每一行的第一列 arr[ i ][ 0 ] = 1


2. 任一行的最后一个元素为1

用C语言实现:把1 赋值给每一行的最后一列 arr[ i ][ j ] = 1


3. 上面两个数相加等于下面一行的数的值


d6d3b489a1954d7796adee1e6a5eb267.jpg


分析某两行:


第4行第2列 = 第3行第1列 + 第3行第2列


用C语言实现:


arr[ 3 ][ 1 ] = arr[ 2 ][ 0 ] + arr[ 2 ][ 1 ]
arr[ i ][ j ] = arr[ i - 1 ][ j - 1 ] + arr[ i - 1 ][ j ]


所有的两两相加之和都遵循上述公式。


然后将其放进嵌套循环,让行和列跑起来。


3d6f0c0ee6a14c48bef937a78e704f73.png


输出结果:


659484f728f8450e9d226a1689750649.png


最后,由于我们要打印的是三角形形状,所以要先打印空格在每行元素前面。


65cfa9ff91ea470eb56628e8cf5098b9.jpg


比如说,我们总共打印7行,那么第1行有6个空格,第2行有5个空格......第7行有0个空格


(我们可以通过 n 和 i 来控制变量区间)


e92dbac2ebf3496e96d20f45d6c1e0e9.png


最终结果:


e627681151af4142b63925dd96fb88c8.png


a3b10b23a46e40dd9840ddfe6c8420dd.jpg


Over.  谢谢观看哟~


目录
相关文章
|
8月前
|
算法 C语言
C语言:杨氏矩阵、杨氏三角、单身狗1与单身狗2
C语言:杨氏矩阵、杨氏三角、单身狗1与单身狗2
68 0
|
C语言
C语言之输出杨辉三角的教程
C语言之输出杨辉三角的教程
116 0
|
8月前
|
存储 C语言
说出来你可能不信, 杨辉三角形用C语言实现其实很简单!
说出来你可能不信, 杨辉三角形用C语言实现其实很简单!
|
8月前
|
C语言
【C 语言经典100例】C 练习实例61 - 杨辉三角形
【C 语言经典100例】C 练习实例61 - 杨辉三角形
51 0
|
C语言
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
93 0
【C语言刷题】喝汽水问题、上三角矩阵判定以及矩阵相等判定
|
存储 算法 C语言
【C语言刷题】猜名次、猜凶手、杨辉三角、杨氏矩阵、字符串左旋、判断是否为左旋子串
【C语言刷题】猜名次、猜凶手、杨辉三角、杨氏矩阵、字符串左旋、判断是否为左旋子串
84 0
|
C语言
【C语言】杨辉三角和练习
【C语言】杨辉三角和练习
79 0
|
存储 C语言
【C语言练习】杨氏矩阵、杨辉三角
【C语言练习】杨氏矩阵、杨辉三角
97 0
|
C语言
C语言实例:创建各类三角形图案(杨辉三角,弗洛伊德三角形....)
C语言实例:创建各类三角形图案(杨辉三角,弗洛伊德三角形....)
169 0