當前位置:首頁 » 編程語言 » c語言楊輝三角一維
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言楊輝三角一維

發布時間: 2023-04-29 02:39:19

1. c語言---用一維數組實現楊輝三角形

用個for語猜數笑句把二維的按行復制過去就得了。

要不就編程實現了。用兩個指針下標,指穗含示上一層的開始和結尾。

存儲的時候隨便存了,輸出到屏幕的時候,再輸出成金字塔行的。畢兄如果有n層,那麼第一行就先輸出2×n個空格,第i行輸出2×(n-i)個空格就ok了。

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

先定義一個二維數組: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 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);

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(" ");/*當一行輸出完以後換行繼續下一行的輸出*/

}

printf(" ");

}

運行結果:

請輸入要列印的行數: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

(2)c語言楊輝三角一維擴展閱讀:

楊輝三角概述:

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個斐波那契數。

3. 詳解C語言用數組表示楊輝三角........

用一個二維數組,每個數表示該位置是空格還是數字,是數字的話,是多少,先把周圍的空格和為1的位置求出來,再求其他的

4. 怎樣用一維數組寫出C語言,輸出楊輝三角的的前8行

#include
<stdio.h>
void
main()
{
int
yh[17][17]
=
{0};
int
i,j;
for
(
i
=
1;
i
<=
16;
i++)
{
for
(
j
=
1;j
<=
16;
j++)
{
yh[i][10
-
i
+
1]
=
yh[i][10
+
i
-
1]
=
1;
if(i
>
1)
{
yh[i][j]
=
yh[i
-
1][j
-
1]
+
yh[i
-
1][j
+
1];
}
}
}
for
(
i
=
1;
i
<=
8;
i++)
{
for
(
j
=
1;j
<=
17;
j++)
{
if(yh[i][j]
!=
0)
{
printf("%3d",yh[i][j]);
}
else
printf("
");
}
printf("\n");
}
}
這是本人自蠢岩源己寫的代碼,應該符合樓主帶態的要求
不好意思沒看清是一維數組,不好意思哈,不過網路有一些楊輝三角的C語言介紹,樓主可以棗輪參考一下

5. 怎樣用一維數組寫出C語言,輸出楊輝三角的的前8行

以下是前八行的代碼,希望對你有所幫助
/*列印楊輝升租羨三角型尺*/
#include <stdio.h>
#define n 9 /*輸出前八行*/
void main()
{
int i,j,a[n][n];
for(i=1;i<n;i++)
{
a[i][i]=1;
a[i][1]=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(j=1;j<吵拍=i;j++)
printf("%6d",a[i][j]);
printf("\n");
}
printf("\n");
}

6. 使用一維數組的指針訪問方式實現以等腰三角形的形式輸出的楊輝三角。c語言

#include <stdio.h>喚亮

int main()

{int n,i,j,a[20]={0},*p;

scanf("%d",&n);

a[0]=1;

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

{

for(j=0;j<和森寬n-i;j++)

printf(" ");

for(p=a+i;p>a;)

{*p+=*(p-1);

printf("%6d",*p--);

}

printf("%6d "春埋,*p);

}

return 0;

}

7. C語言利用一維數組編寫楊輝三角

#include <stdio.h>
#define N 10 /* 要列印的層數 */
int main(void)
{
int arr[N]; /* 用於保存生成的楊輝三角的每一行的值 */
int i, j;
arr[0] = 1; /* 楊輝三角的第一層 */

/* 先把第一層列印出來 */
printf("%5d\n", arr[0]);
arr[1] = arr [0] = 1;/喊笑慶/這樣寫是為了表明演算法。
printf("%5d%5d\n", arr[0], arr[1]);
/* 不斷地求楊輝三角的每一層 */
for (i = 2; i < N; i++) /* i代表當前鄭握層用到的arr的最大下標 */
{
arr[i] = arr[i-1]; /* 把升畝最外邊的1外移一位 */
for(j = i-1; j>0; j--)//每一行的a[0],始終為1,不用計算。
/* 用楊輝三角的性質求出層里裡面的每一個數 */
{
/* 楊輝三角的性質就是這句 */
arr[j] = arr[j - 1] + arr[j];
}
/* 求出一行後,馬上列印出此行 */
for (j = 0; j <= i; j++)
{
printf("%5d",arr[j]);
}
printf("\n");
}
return 0;
}

8. 用一維數組實現楊輝三角形

#include <stdio.h>
main()
{ int i,j,n=0,a[17]={0,1},l,r;
while(n<1 || n>16)
{ printf("請輸入楊輝三角形的行數:");
scanf("%d",&n);
}
for(i=1;i<=n;i++)
{ l=0;
for(j=1;j<=i;j++)
{ r=a[j];
a[j]=l+r; /*每個數是上面兩數之和*/
l=r;
printf("%5d",a[j]); /*輸出楊輝三角*/
}
printf("\n");
}
}

9. 怎樣用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;

}

(9)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個斐波那契數。

10. 用C語言輸出楊輝三角形,具體要求看補充。

#include <stdio.h>
main()
{
int n=2,d;
scanf("%d",&d); //輸出d行
do{
int a[100]={1,1,1};
int b[100]={1,1,1};
for(int j=3;j<n;j++)//上限
{ a[j]=1;
b[j]=1;
for(int i=1;i<j-1;i++) //內循環
{
b[i+1]=a[i+1]+a[i];

}
for(int k=1;k<n;k++)
a[k]=b[k];
}
for(int i=1;i<n;i++)
printf("%2d ",b[i]);
printf("\n");
n++;
}while(n<d+2);
}
一維的方法。。仔細看下。