C语言之杨辉三角
大家好呀!👋這個是付青云同學的博客,是一名大一在校生哦!😁😁
目前一直在學習C語言。🐸
寫博客是為了來記錄我的學習過程,同時也希望通過博客能夠幫助到需要幫助的人。
如果我的博客可以幫助到你,不妨給我一個關(guān)注哦😁
文章目錄
- 楊輝三角
- 規(guī)則
- 代碼實現(xiàn)1
- 運行結(jié)果
- 代碼實現(xiàn)2
- 運行結(jié)果
楊輝三角
規(guī)則
如圖:
- 每個數(shù)等于它上方兩數(shù)之和。
- 每行數(shù)字左右對稱,由1開始逐漸變大。
- 第n行的數(shù)字有n項。
- 前n行共[(1+n)n]/2 個數(shù)。
- …
代碼實現(xiàn)1
#define _CRT_SECURE_NO_WARNINGS#define ROW 10 #define COL 10 #include <stdio.h>int main() {//楊輝三角int arr[ROW][COL] = { 0 };int i = 0;int j = 0;arr[0][0] = 1;for (i = 0; i < ROW; i++){for (j = 0; j <=i; j++){if (j == i || j == 0)//打印兩邊{arr[i][j] = arr[0][0];printf("%d ", arr[i][j]);}else//打印中間{arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];printf("%d ", arr[i][j]);}}printf("\n");}return 0; }運行結(jié)果
在這里我們發(fā)現(xiàn)這個運行結(jié)果跟上面的圖片好像不一樣,是個樓梯形的,那可不可以寫個代碼將輸出結(jié)果變成三角形的呢?
代碼如下:
代碼實現(xiàn)2
#define _CRT_SECURE_NO_WARNINGS#define ROW 8 #define COL 8 #include <stdio.h>void YH_sanjiao(int arr[ROW][COL], int row, int col) {//定義楊輝三角int i = 0;int j = 0;arr[0][0] = 1;for (i = 0; i < ROW; i++){for (j = 0; j <= i; j++){if (j == i || j == 0){arr[i][j] = arr[0][0];}else{arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];}}} }void lingxin(int arr[ROW][COL], int row, int col)//打印楊輝三角的函數(shù) {int i = 0;int j = 0;for (i = 0; i < row; i++)//打印一行{ for (j = 0; j < col - i - 1; j++)//打印空格{printf(" ");}for (j = 0; j < i; j++){printf("%d ", arr[i][j]);//打印數(shù)字}printf("\n");} }int main() {int arr[ROW][COL] = { 0 };YH_sanjiao(arr, ROW, COL);lingxin(arr, ROW, COL);return 0; }運行結(jié)果
總結(jié)
- 上一篇: ggplot2: post-hoc +
- 下一篇: KITTI数据集GPS数据格式dataf