楊輝c語言全集,c語言編譯楊輝三角

本文目錄一覽:

C語言,輸出楊輝三角

修改:#include”stdio.h” 

void main()

{

int a[10][10],i,j;

for(i=0;i=9;i++){

a[i][0]=1;//原代碼此處需修改,第一位數為1

a[i][i]=1;

}

for(i=1;i=9;i++)

for(j=1;ji;j++)//原代碼此處需修改

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=0;i=9;i++){

for(j=0;j=i;j++){printf(“%5d\t”,a[i][j]);}

printf(“\n”);

}return 0;}

擴展資料:

楊輝三角概述:

1.每個數等於它上方兩數之和。

2.每行數字左右對稱,由1開始逐漸變大。

3.第n行的數字有n+1項。

4.第n行數字和為2n。

5.第n行的m個數可表示為 C(n-1,m-1),即為從n-1個不同元素中取m-1個元素的組合數。

6.第n行的第m個數和第n-m+1個數相等 ,為組合數性質之一。

7.每個數字等於上一行的左右兩個數字之和。可用此性質寫出整個楊輝三角。即第n+1行的第i個數等於第n行的第i-1個數和第i個數之和,這也是組合數的性質之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。

8.(a+b)n的展開式中的各項係數依次對應楊輝三角的第(n+1)行中的每一項。

9.將第2n+1行第1個數,跟第2n+2行第3個數、第2n+3行第5個數……連成一線,這些數的和是第4n+1個斐波那契數;將第2n行第2個數(n1),跟第2n-1行第4個數、第2n-2行第6個數……這些數之和是第4n-2個斐波那契數。

10將各行數字相排列,可得11的n-1(n為行數)次方:1=11^0; 11=11^1; 121=11^2……當n5時會不符合這一條性質,此時應把第n行的最右面的數字”1″放在個位,然後把左面的一個數字的個位對齊到十位。

以此類推,把空位用「0」補齊,然後把所有的數加起來,得到的數正好是11的n-1次方。以n=11為例,第十一行的數為:1,10,45,120,210,252,210,120,45,10,1,結果為 25937424601=1110。

參考資料:楊輝三角-百度百科

C語言 楊輝三角形

#includestdio.h

int fun(int a[][100],int n);

main()

{

int n,i,j;

int a[100][100];

scanf(“%d”,n);

fun(a,n);

for(i=0;in;i++)

{

for(j=0;j=i;j++)

printf(“%d\t”,a[i][j]);

printf(“\n”);

}

int fun(int a[][100],int n)

{

int i,j;

for(i=0;in;i++)

a[i][0]=1;

for(i=0;in;i++)

for(j=0;j=i;j++)

a[i][j]=1;

for(i=1;in;i++)

for(j=1;j=i;j++)

a[i][j]=a[i-1][j]+a[i-1][j-1];

}

怎樣用c語言來編寫楊輝三角形的遞歸程序?

方法一:用二維數組來編寫。

方法二:用自定義函數來編寫。

首先,楊輝三角的兩個腰邊的數都是1,其它位置的數都是上頂上兩個數之和。楊輝三角的任意一行都是的二項式係數,n為行數減1。也就是說任何一個數等於這個是高中的組合數。n代表行數減1,不代表列數減1。如:第五行的第三個數就為=6。

先定義一個二維數組:a[N][N],略大於要列印的行數。再令兩邊的數為1,即當每行的第一個數和最後一個數為1。a[i][0]=a[i][i-1]=1,n為行數。除兩邊的數外,任何一個數為上兩頂數之和,即a[i][j]=a[i-1][j-1]+a[i-1][j]。最後輸出楊輝三角。

方法一二維數組代碼如下:

#include stdio.h#define N 14void main(){  int i, j, k, n=0, a[N][N]; /*定義二維數組a[14][14]*/  while(n=0||n=13){ /*控制列印的行數不要太大,過大會造成顯示不規範*/    printf(“請輸入要列印的行數:”);    scanf(“%d”,n);  }  printf(“%d行楊輝三角如下:\n”,n);  for(i=1;i=n;i++)    a[i][1] = a[i][i] = 1; /*兩邊的數令它為1,因為現在循環從1開始,就認為a[i][1]為第一個數*/  for(i=3;i=n;i++)    for(j=2;j=i-1;j++)      a[i][j]=a[i-1][j-1]+a[i-1][j]; /*除兩邊的數外都等於上兩頂數之和*/  for(i=1;i=n;i++){    for(k=1;k=n-i;k++)      printf(”  “); /*這一行主要是在輸出數之前打上空格佔位,讓輸出的數更美觀*/    for(j=1;j=i;j++) /*j=i的原因是不輸出其它的數,只輸出我們想要的數*/      printf(“%6d”,a[i][j]);         printf(“\n”); /*當一行輸出完以後換行繼續下一行的輸出*/  }  printf(“\n”);}

方法二:自定義函數代碼:

楊輝三角中的任何一個數都等於一個組合數。

#include stdio.h/* * 定義階乘,在這裡可能會想。為什麼要用float,當我試第一次的時候, * 如果用int的話,那麼在列印行數多了以後就會出錯。 * 這是因為階乘的數比較大,如果用int就不夠用了。下同 */float J(int i){  int j;  float k=1;  for(j=1;j=i;j++)    k=k*j;  return(k);}float C(int i,int j){ /*定義組合數*/  float k;  k=J(j)/(J(i)*J(j-i));  return(k);}void main(){  int i=0,j,k,n; /*列印楊輝三角*/  while(i=0||i16){    printf(“請輸入要列印的行數:”);    scanf(“%d”,i);  }  printf(“%d行楊輝三角如下:\n”,i);  for(j=0;ji;j++){    for(k=1;k=(i-j);k++)      printf(” “);    for(n=0;n=j;n++)      printf(“%4.0f”,C(n,j));    printf(“\n”);  }  printf(“\n\n”);}

楊輝三角 C語言程序

#include stdio.h

int c(int i,int j)

{if(j==0||j==i)return 1;

else return c(i-1,j)+c(i-1,j-1);

}

int main()

{

int n,i,j;

scanf(“%d”,n);

for(i=0;i=n;i++)

{

for(j=0;jn-i;j++)

printf(”   “);

for(j=0;j=i;j++)

printf(“%6d”,c(i,j));

printf(“\n”);

}

getch();

return 0;

}

原創文章,作者:WKXN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142878.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WKXN的頭像WKXN
上一篇 2024-10-14 18:44
下一篇 2024-10-14 18:44

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論