c語言楊輝教程,用C語言實現楊輝三角

本文目錄一覽:

怎樣用c語言編寫楊輝三角

c語言的楊輝三角程序如下:

#include stdio.h

#include stdlib.h

int main()

{

int s = 1, h;                    // 數值和高度

int i, j;                        // 循環計數

scanf(“%d”, h);                 // 輸入層數

printf(“1\n”);                   // 輸出第一個 1

for (i = 2; i = h; s = 1, i++)         // 行數 i 從 2 到層高

    {

printf(“1 “);                // 第一個 1

for (j = 1; j = i – 2; j++) // 列位置 j 繞過第一個直接開始循環

//printf(“%d “, (s = (i – j) / j * s));

printf(“%d “, (s = (i – j) * s / j));

        printf(“1\n”);               // 最後一個 1,換行    }

getchar();                       // 暫停等待

    return 0;

}

擴展資料:

楊輝三角概述

前提:每行端點與結尾的數為1.

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

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

第n行的數字有n項。

第n行數字和為2n。

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

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

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

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

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

參考資料:

百度百科-楊輝三角

C語言,楊輝三角公式

方法1:

#include stdio.h

main()

{

int i,j,a[10][10]; /*10行10列的楊輝三角*/

for(i=0;i10;i++) /*先賦值兩邊*/

{

a[i][0]=1;

a[i][i]=1;

}

for(i=2;i10;i++) /* 計算中間的數值 */

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

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

for(i=0;i10;i++) /* 輸出部分 */

{

for(j=0;ji+1;j++)

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

printf(“\n”);

}

}

方法2:

#includestdio.h

main()

{

long i,j,n,k;

printf(“請輸入要輸出的楊輝三角的行數:”);

scanf(“%d”,n);

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

{

k=1;

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

{

printf(“%5ld”,k);

k=k*(i-j)/j;

}

printf(“\n”);

}

}

怎麼用C語言編寫楊輝三角

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

#includelt;stdio.hgt;

#define N 14

void main()

{

int i,j,k,n=0,a[N][N];/*定義二維數組a[14][14]*/

while(nlt;=0||ngt;=13){/*控制打印的行數不要太大,過大會造成顯示不規範*/

printf(“請輸入要打印的行數:”);

scanf(“%d”,n);

}

printf(“%d行楊輝三角如下:\n”,n);

for(i=1;ilt;=n;i++)

alt;igt;[1]=alt;igt;lt;igt;=1;/*兩邊的數令它為1,因為現在循環從1開始,就認為alt;igt;[1]為第一個數*/

for(i=3;ilt;=n;i++)

for(j=2;jlt;=i-1;j++)

alt;igt;[j]=a[i-1][j-1]+a[i-1][j];/*除兩邊的數外都等於上兩頂數之和*/

for(i=1;ilt;=n;i++){

for(k=1;klt;=n-i;k++)

printf(“”);/*這一行主要是在輸出數之前打上空格佔位,讓輸出的數更美觀*/

for(j=1;jlt;=i;j++)/*jlt;=i的原因是不輸出其它的數,只輸出我們想要的數*/

printf(“%6d”,alt;igt;[j]);

printf(“\n”);/*當一行輸出完以後換行繼續下一行的輸出*/

}

printf(“\n”);

}

運行結果:

請輸入要打印的行數:9

9行楊輝三角如下:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1

擴展資料:

楊輝三角概述:

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個數(ngt;1),跟第2n-1行第4個數、第2n-2行第6個數……這些數之和是第4n-2個斐波那契數。

參考資料:

百度百科——楊輝三角

用c語言輸出楊輝三角

C語言實現輸出n層楊輝三角,注意n34時會導致長整型溢出,參考代碼如下:

#includestdio.h

int main()

{

int i,j,n;

long a[34]={1};

scanf(“%d”,n);

if(n34)return 1;

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

for(j=i;j0;j–)

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

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

printf(“%ld “,a[j]);

printf(“\n”);

}

return 0;

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/300474.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 12:51
下一篇 2024-12-29 12:51

相關推薦

  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變量類型,而是在變量第一次賦值時自動識別該變量的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • AES加密解密算法的C語言實現

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

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

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

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

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

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

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

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

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

    編程 2025-04-29

發表回復

登錄後才能評論