杨辉三角(C语言实现)
大家好,我是十七,今天分享?xiàng)钶x三角的簡單實(shí)現(xiàn)。
上圖是楊輝三角的排列
如果我們只關(guān)注如何編程,我認(rèn)為主要有三個(gè)規(guī)律:
1. 每一行的第一個(gè)元素為1
2. 每一行的最后一個(gè)元素為1
3. 前一行某兩個(gè)數(shù)相加等于后一行的某一個(gè)數(shù)值
我們可以將三角形先如上排序,然后創(chuàng)建一個(gè)二維數(shù)組arr[ i ][ j ]來實(shí)現(xiàn)
基于以下的三個(gè)規(guī)律:
1. 任一行的第一列元素為1
用C語言實(shí)現(xiàn):把1 賦值給每一行的第一列 arr[ i ][ 0 ] = 1
2. 任一行的最后一個(gè)元素為1
用C語言實(shí)現(xiàn):把1 賦值給每一行的最后一列 arr[ i ][ j ] = 1
3. 上面兩個(gè)數(shù)相加等于下面一行的數(shù)的值
分析某兩行:
第4行第2列 = 第3行第1列 + 第3行第2列
用C語言實(shí)現(xiàn):
arr[ 3 ][ 1 ] = arr[ 2 ][ 0 ] + arr[ 2 ][ 1 ]
arr[ i ][ j ] = arr[ i - 1 ][ j - 1 ] + arr[ i - 1 ][ j ]
所有的兩兩相加之和都遵循上述公式。
然后將其放進(jìn)嵌套循環(huán),讓行和列跑起來。
輸出結(jié)果:
最后,由于我們要打印的是三角形形狀,所以要先打印空格在每行元素前面。
比如說,我們總共打印7行,
那么第1行有6個(gè)空格,第2行有5個(gè)空格......第7行有0個(gè)空格
(我們可以通過 n 和 i 來控制變量區(qū)間)
?
最終結(jié)果:
?
Over.? 謝謝觀看喲~
總結(jié)
以上是生活随笔為你收集整理的杨辉三角(C语言实现)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python randint什么分布_p
- 下一篇: 雨林木风工具箱 3.5