亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言打印輸出楊輝三角

發布時間:2020-09-17 04:46:01 來源:腳本之家 閱讀:174 作者:z向前 欄目:編程語言

楊輝三角,是二項式系數在三角形中的一種幾何排列。

如下圖所示:

C語言打印輸出楊輝三角

規律:

1.每行端點與結尾的數為1.
2.每個數等于它上方兩數之和。
2.每行數字左右對稱,由1開始逐漸變大。
3.第n行的數字有n項。
4.每個數字等于上一行的左右兩個數字之和。可用此性質寫出整個楊輝三角。即第i+1行的第j個數等于第i行的第j-1個數和第j個數之和,這也是組合數的性質之一。即C(i+1,j)=C(i,j-1)+C(i,j)。

5.第 i 行第 j 個數可表示為:

C語言打印輸出楊輝三角

例:

C語言打印輸出楊輝三角

可以表示為: 7 的階乘除以(7-3)的階乘,再除以3的階乘 即: ( 7! / (7-3)! )/ 3!
以下是筆者所寫的代碼:(使用了上述規律5)

/* 在屏幕上打印楊輝三角。
  by 向前
*/
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

//該函數功能是求傳入參數的階乘
int Factorial(int num){
 if (num == 0){
 return 1;
 } else{
 int tmp = num;
 for (int i = 1; i < num; ++i){
  tmp = tmp*i;
 }
 return tmp;
 }
}
//楊輝三角第 i 行,第 j 個數的值為 C(j-1,i-1) 
int Num(int i, int j){
 int n = 0;
 n = Factorial(i - 1) / Factorial(i - j)/Factorial(j-1);
 return n;
}

int main(){
 int h = 0;
 printf("輸入需要打印的行數\n");
 scanf("%d", &h); //  可以打印任意行數的楊輝三角
 if (h<1){
 printf("非法輸入!請重新輸入\n");
 } else{
 int s = h - 1;
 for (int i = 1; i <= h; ++i){
  for (s = h - i; s > 0; --s){  // 該循環是按照規律將空格輸出,使之輸出為一個三角形
  printf(" ");
  }
  for (int j = 1; j <= i; ++j){
  printf(" %d ", Num(i, j));
  }
  printf("\n\n"); // 每行輸出結束后換行
 }
 }
 system("pause");
 return 0;
}

編譯環境: Visual Studio 2013
運行效果如下:

C語言打印輸出楊輝三角

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邓州市| 万源市| 新乡县| 尼玛县| 雅江县| 江都市| 分宜县| 长垣县| 五华县| 晋州市| 枞阳县| 安图县| 舒城县| 金山区| 河西区| 噶尔县| 高邮市| 祁阳县| 宜良县| 九江县| 洛扎县| 吕梁市| 伊春市| 郧西县| 白城市| 商河县| 平果县| 太仆寺旗| 永靖县| 栾城县| 甘德县| 博罗县| 卢湾区| 钟祥市| 古田县| 衡水市| 罗江县| 浏阳市| 津南区| 天水市| 景东|