日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言输出杨辉三角

發(fā)布時(shí)間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言输出杨辉三角 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

楊輝三角,是在二項(xiàng)式系數(shù)三角形中的一種幾何排列,中國南宋數(shù)學(xué)家楊輝1261年所著的《詳解九章算法》一書中出現(xiàn)。在歐洲,帕斯卡(1623----1662)在1654年發(fā)現(xiàn)這一規(guī)律,所以這個(gè)表又叫做帕斯卡三角形。帕斯卡的發(fā)現(xiàn)比楊輝要遲393年,比賈憲遲600年。

楊輝三角的每一位數(shù)都是上面兩位數(shù)的和,如圖:

?

?用C語言可以對(duì)楊輝三角進(jìn)行輸出。程序如下:

方法一:用兩個(gè)一維數(shù)組來計(jì)算楊輝三角并輸出

#include<stdio.h> #include<assert.h> void copy(const int* arr_2, int* arr_1) {assert(arr_1);assert(arr_2);int i_2 = 0;while (*(arr_2 + i_2)){*(arr_1 + i_2) = *(arr_2 + i_2);i_2++;} } void print(int* arr_2) {int i_1 = 0;while (*(arr_2 + i_1)){printf("%d ", *(arr_2 + i_1));i_1++;}printf("\n"); } int main() {int arr1[10] = { 1 };int arr2[10] = { 1 };int n = 0;int i = 0;int j = 0;scanf("%d", &n);//輸入楊輝三角的行數(shù)printf("\n");printf("%d\n", arr1[0]);//行數(shù)for (j = 2; j < n+1; j++){//每行數(shù)for (i = 1; i < j; i++){arr2[i] = arr1[i] + arr1[i - 1];}print(arr2, i);//打印楊輝三角的一行copy(arr2, arr1);//復(fù)制函數(shù)}return 0; }

方法二:用一個(gè)二維數(shù)組計(jì)算并輸出楊輝三角

#include<stdio.h> int main() {int arr[10][10] = { 0 };int i = 0;int j = 0;int n = 0;scanf("%d", &n);//輸入楊輝三角的行數(shù)printf("\n");//計(jì)算楊輝三角的數(shù),放入二維數(shù)組中,只用到下三角for (i = 0; i < n; i++)//行數(shù){for (j = 0; j <= i; j++){if (j == 0){arr[i][j] = 1;}if (i == j){arr[i][j] = 1;}if ((j < i) && (j != 0)){arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];}}}//輸出二維數(shù)組,即楊輝三角for (i = 0; i < n; i++){for (j = 0; j <= i; j++){printf("%d ", arr[i][j]);}printf("\n");}return 0; }

兩種方法輸出的楊輝三角結(jié)果都一樣,如下圖:

?

要想輸出為金字塔形狀的,只需在輸出每一行之前輸出相應(yīng)的空格數(shù)。?

總結(jié)

以上是生活随笔為你收集整理的c语言输出杨辉三角的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。