c語言的楊輝三角程式,怎麼用C語言編寫楊輝三角

時間 2022-01-12 08:30:10

1樓:小懂的賬號

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

#include

#include

int main()

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

int i, j;                        // 迴圈計數

輸入層數

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));

擴充套件資料:

楊輝三角概述

前提:每行端點與結尾的數為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個數(n>1),跟第2n-1行第4個數、第2n-2行第6個數……這些數之和是第4n-2個斐波那契數。

2樓:匿名使用者

#include "stdio.h"

main()

}//輸出

for(i=0;i<10;i++)}

3樓:夏然

這是我自己寫的楊輝三角,輸出10行,有興趣可以看看。

#include

int main()

,b=1;b<=10;b++)}

4樓:匿名使用者

很簡單的.

#include

void main()}

5樓:都市新

你可以找專業人士,一般人都不懂。

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

6樓:問明

先定義一個二維陣列:a[n][n],略大於要列印的行數。再令兩邊的數為1,即當每行的第一個數和最後一個數為1。

a[0]=a[i-1]=1,n為行數。除兩邊的數外,任何一個數為上兩頂數之和,即a[j]=a[i-1][j-1]+a[i-1][j]。最後輸出楊輝三角。

**如下:

#include

#define n 14

void 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[1]=a=1;/*兩邊的數令它為1,因為現在迴圈從1開始,就認為a[1]為第一個數*/

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

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

a[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[j]);

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

printf("\n");

執行結果:

請輸入要列印的行數:9

9行楊輝三角如下:

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

7樓:匿名使用者

問題本質是二項式(a+b)的n次方後各項的係數排成的三角形,它的特點是左右兩邊全是1,從第二行起,中間的每一個數是上一行裡相鄰兩個數之和。

#include

main()

;while(n<1 || n>16)

{ printf("請輸入楊輝三角形的行數:");

scanf("%d",&n);

for(i=0;ia[i][0]=1; /*第一列全置為一*/for(i=1;ifor(j=1;j<=i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];/*每個數是上面兩數之和*/

for(i=0;i{ for(j=0;j<=i;j++)printf("%5d",a[i][j]);

printf("\n");

楊輝三角室程式設計基本問題,還請題主好好學習哦程式輸出結果

8樓:mickal小米

#include

main()

;while(n<1 || n>16)

for(i=0;i

a[i][0]=1; /*第一列全置為一*/for(i=1;i

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

a[i][j]=a[i-1][j-1]+a[i-1][j];/*每個數是上面兩數之和*/

for(i=0;i

9樓:王田雨

#include"stdio.h"

void main()}

c語言,輸出楊輝三角

10樓:匿名使用者

修改:#include"stdio.h"

void main()

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

for(j=1;ja[i][j]=a[i-1][j-1]+a[i-1][j];

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

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

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

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

11樓:匿名使用者

#include

#define n 10 //定義常量n,表示輸出n行楊輝三角的值int main()

;printf("楊輝三角列表規律是每行的第一列和最後一列的值為1,其餘的值是例如第n行第m列的值=第n-1行第m列+第n-1行第m-1列\n");

for(i=0;i

printf("\n");//輸出列表是一個直角三角形}return 0;}

12樓:難堪

#include

#include

int main()

getchar(); // 暫停等待

return 0;}

13樓:匿名使用者

#include

#include

//通用下直角楊輝三角函式

//output下直角楊輝三角

void  thirdyhx(int _ival=10)

if (_ival>50)

printf ("please input number of less than 50 !\n");

return ;

int    limit = _ival;

int    i = 0 ;

int    j = 0;

int *pmem = (int*)malloc (sizeof(int)*_ival*_ival);

memset(pmem, 0, sizeof(int)*_ival*_ival);

for (;i*(pmem+i*limit+0)=1;

printf("%-4d   ",1);

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

if(i==j)

*(pmem+i*limit+j)=1;

printf("%-4d   ",1);

else

*(pmem+i*limit+j)=*(pmem+(i-1)*limit+j-1)+*(pmem+(i-1)*limit+j) ;

printf("%-4d   ",*(pmem+i*limit+j));

printf("\n");

free (pmem);

pmem = null;

int main()

thirdyhx(11);

system ("pause");

}輸出如下:

求助用c語言來編寫楊輝三角行的遞迴程式

這是陣列符號,因為這道題用陣列比較容易,遞迴法有點難度,我這有一方法你看看 include void main int e int x,int y 不懂問我 聽不清啊 include int c int i,int j if j 0 j i return 1 else return c i 1,j ...

C語言中處處楊輝三角形的程式,C語言中處處楊輝三角形的程式

11 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 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252...

反三角函式怎麼用,C語言中反三角函式的呼叫

遇花季 反三角函式並不能狹義的理解為三角函式的反函式,是個多值函式。例如 已知 cos 3 5,求 解 已知 cos 3 5 有 arccos 3 5 經查表 或按計算器 得 53.13010235 或 323.13010235 考慮到三角函式的週期性 得 360 k 53.13010235 或 3...