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"); }輸出如下: 這是陣列符號,因為這道題用陣列比較容易,遞迴法有點難度,我這有一方法你看看 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 ... 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... 遇花季 反三角函式並不能狹義的理解為三角函式的反函式,是個多值函式。例如 已知 cos 3 5,求 解 已知 cos 3 5 有 arccos 3 5 經查表 或按計算器 得 53.13010235 或 323.13010235 考慮到三角函式的週期性 得 360 k 53.13010235 或 3...求助用c語言來編寫楊輝三角行的遞迴程式
C語言中處處楊輝三角形的程式,C語言中處處楊輝三角形的程式
反三角函式怎麼用,C語言中反三角函式的呼叫