當前位置:首頁 » 編程語言 » 等腰楊輝三角c語言程序

等腰楊輝三角c語言程序

發布時間: 2022-10-08 12:55:52

1. c語言的楊輝三角程序

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

#include<stdio.h>

#include<stdlib.h>

intmain()

{

ints=1,h;//數值和高度

inti,j;//循環計數

scanf("%d",&h);//輸入層數

printf("1 ");//輸出第一個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 ");//最後一個1,換行}

getchar();//暫停等待

return0;

}

(1)等腰楊輝三角c語言程序擴展閱讀:

楊輝三角概述

前提:每行端點與結尾的數為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. 用c語言編寫程序 輸出楊輝三角

程序:

#include<stdio.h>

int main()

int n,i,j,a[100];

n=10;

printf(" 1");

printf(" ");

a[1]=a[2]=1;

printf("%3d%3d ",a[1],a[2]);

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

{

a[1]=a[i]=1;

for(j=i-1;j>1;j--)

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

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

printf("%3d",a[j]);

printf(" ");

}

return 0;

}

應用

與楊輝三角聯系最緊密的是二項式乘方展開式的系數規律,即二項式定理。例如在楊輝三角中,第3行的三個數恰好對應著兩數和的平方的展開式的每一項的系數(性質 8),第4行的四個數恰好依次對應兩數和的立方的展開式的每一項的系數。

以上內容參考:網路-楊輝三角

3. C語言中怎麼寫楊輝三角啊

楊輝三角,又稱賈憲三角形,帕斯卡三角形,是二項式系數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。

這是楊輝三角:

代碼如下:

#include <stdio.h>

#include <stdlib.h>

const int length = 10; // 定義楊輝三角的大小

int main(void)
{

int nums[length][length];

int i, j;

/*計算楊輝三角*/

for(i=0; i<length; i++)
{

nums[i][0] = 1;

nums[i][i] = 1;

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

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

}

/*列印輸出*/

for(i=0; i<length; i++)
{

for(j=0; j<length-i-1; j++)

printf(" ");

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

printf("%-5d ", nums[i][j]);

putchar(' ');

}

getchar();// 暫停

return EXIT_SUCCESS;

}

4. C語言中怎麼寫楊輝三角啊

#include <stdio.h>
//設定楊輝三角的行數N
#define N 10
int main()
{
int i, j;
int a[N][N];
printf("\n");
//令兩斜邊的所有數值為1
for (i = 0; i < N; i++)
{
a[i][0] = 1;
a[i][i] = 1;
}
//令楊輝三角內部的數值等於其兩肩數字之和
for (i = 2; i < N; i++)
for (j = 1; j < i; j++)
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
for (i = 0; i < N; i++)
{
for (j = 0; j <= i; j++)
printf("%5d", a[i][j]);
printf("\n");
}
}

5. C語言,輸出楊輝三角

#include<stdio.h>
#define N 10 //定義常量N,表示輸出N行楊輝三角的值
int main()
{
int i,j,a[N][N]={0};
printf("楊輝三角列表規律是每行的第一列和最後一列的值為1,其餘的值是例如第n行第m列的值=第n-1行第m列+第n-1行第m-1列\n");
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
{
if(j==0||i==j)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%d\t",a[i][j]);
}
printf("\n");//輸出列表是一個直角三角形

}
return 0;
}

6. 怎樣用C語言寫出等腰的楊輝三角

#include <stdio.h>
#define N 14
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");
}

7. 用C語言編寫楊輝三角形

楊輝三角形是形如
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
的三角形,其實質是二項式(a+b)的n次方展開後各項的系數排成的三角形,它的特點是左右兩邊全是1,從第二行起,中間的每一個數是上一行里相鄰兩個數之和。這個題目常用於程序設計的練習。
下面給出六種不同的解法。
解法一
#include <stdio.h>
main()
{ int i,j,n=0,a[17][17]={0};
while(n<1 || n>16)
{ printf("請輸入楊輝三角形的行數:");
scanf("%d",&n);
}
for(i=0;i<n;i++)
a[i][0]=1; /*第一列全置為一*/
for(i=1;i<n;i++)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];/*每個數是上面兩數之和*/
for(i=0;i<n;i++) /*輸出楊輝三角*/
{ for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}

8. c語言的等腰楊輝三角程序

#include"stdio.h"
main()
{
int a[5][5],i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(j>i)
a[i][j]=1+j-i;
}
}
for(i=0;i<5;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
這是一個求楊輝三角的題,希望你自己能夠把它改寫成你所要的函數,我相信你一定可以做到的.加油哦!~

9. 怎樣用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||i>16){ printf("請輸入要列印的行數:"); scanf("%d",&i); } printf("%d行楊輝三角如下:\n",i); for(j=0;j<i;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");}

10. C語言: 楊輝三角,請問怎麼寫

  • #include <stdio.h>

  • #include <stdlib.h>

  • #define ROW 10

  • #define COL 10

  • void tri()

  • {

  • int a[ROW][COL] = { 0 };

  • int i = 0, j = 0;

  • for (i = 0; i < ROW; i++)

  • {

  • a[i][0] = 1;

  • a[i][i] = 1;

  • }

  • for (i = 2; i < ROW; i++)

  • {

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

  • {

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

  • }

  • }

  • for (i = 0; i < ROW; i++)

  • {

  • /*for (j = 0; j <= col*(ROW - i) / 2; j++)

  • {

  • printf(" ");

  • }*/

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

  • {

  • printf("%3d ", a[i][j]);

  • }

  • printf(" ");

  • }

  • }

  • int main()

  • {

  • tri();

  • system("pause");

  • return 0;

熱點內容
android包管理 發布:2024-12-22 11:35:25 瀏覽:87
c語言data 發布:2024-12-22 11:34:31 瀏覽:861
怎樣搭建米家智能家居伺服器 發布:2024-12-22 11:20:36 瀏覽:995
我的世界工藝伺服器傳送點怎麼搞 發布:2024-12-22 10:56:30 瀏覽:909
exprlinux 發布:2024-12-22 10:55:19 瀏覽:698
你知道甲魚密碼是多少嗎 發布:2024-12-22 10:26:32 瀏覽:813
我的世界國服伺服器開服 發布:2024-12-22 10:09:55 瀏覽:544
標題編譯策略 發布:2024-12-22 10:04:45 瀏覽:223
android開發xml 發布:2024-12-22 10:00:20 瀏覽:65
sql伺服器名稱什麼時候能寫ip 發布:2024-12-22 09:53:19 瀏覽:130