91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

五家渠市| 偃师市| 肥东县| 龙游县| 临高县| 昔阳县| 平阳县| 内丘县| 陇南市| 唐河县| 青阳县| 弥勒县| 大竹县| 新蔡县| 巍山| 年辖:市辖区| 华坪县| 海伦市| 揭东县| 乳山市| 新化县| 隆子县| 河曲县| 江山市| 垦利县| 龙里县| 南部县| 陇川县| 田林县| 苍梧县| 方城县| 武陟县| 南京市| 北安市| 密山市| 北京市| 横山县| 石台县| 马公市| 舞阳县| 宜兰县|