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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言输出杨辉三角

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

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

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

?

?用C語言可以對楊輝三角進行輸出。程序如下:

方法一:用兩個一維數組來計算楊輝三角并輸出

#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);//輸入楊輝三角的行數printf("\n");printf("%d\n", arr1[0]);//行數for (j = 2; j < n+1; j++){//每行數for (i = 1; i < j; i++){arr2[i] = arr1[i] + arr1[i - 1];}print(arr2, i);//打印楊輝三角的一行copy(arr2, arr1);//復制函數}return 0; }

方法二:用一個二維數組計算并輸出楊輝三角

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

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

?

要想輸出為金字塔形狀的,只需在輸出每一行之前輸出相應的空格數。?

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。