中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

星座| 栖霞市| 昌图县| 吕梁市| 上高县| 黑水县| 米林县| 临湘市| 合川市| 那曲县| 东兰县| 类乌齐县| 乌海市| 都匀市| 宜春市| 静乐县| 新晃| 吉安县| 通州区| 诸城市| 台州市| 绵阳市| 灵武市| 阿尔山市| 嘉鱼县| 阳朔县| 德昌县| 鄂托克旗| 望奎县| 荥阳市| 孝感市| 渑池县| 潮州市| 卫辉市| 绩溪县| 承德县| 涿鹿县| 罗平县| 江西省| 宜兰市| 岑巩县|