#include stdio.h
創(chuàng)新互聯(lián)2013年至今,先為昆山等服務(wù)建站,昆山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為昆山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
#include math.h
int c(int x,int y);//如果自定義函數(shù)初始化放在main函數(shù)之后,必須先聲明,如果在main函數(shù)之前初始化,就可以省略聲明
/*楊輝三角*/
void main(){
int i,j,n=10;
printf("N=");
while(n9)
scanf("%d",n);
for(i=0;i=n;i++)
{
for(j=0;j9-i;j++)printf(" ");
for(j=1;ji+2;j++)printf("%6d",c(i,j));
printf("\n");
}
}
int c(int x,int y) {
int z;
if((y==1) || (y==x+1))
return(1);
else
z=c(x-1,y-1)+c(x-1,y);
return (z);
}
修改:#include"stdio.h"?
void main()
{
int a[10][10],i,j;
for(i=0;i=9;i++){
a[i][0]=1;//原代碼此處需修改,第一位數(shù)為1
a[i][i]=1;
}
for(i=1;i=9;i++)
for(j=1;ji;j++)//原代碼此處需修改
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i=9;i++){
for(j=0;j=i;j++){printf("%5d\t",a[i][j]);}
printf("\n");
}return 0;}
擴(kuò)展資料:
楊輝三角概述:
1.每個(gè)數(shù)等于它上方兩數(shù)之和。
2.每行數(shù)字左右對(duì)稱,由1開(kāi)始逐漸變大。
3.第n行的數(shù)字有n+1項(xiàng)。
4.第n行數(shù)字和為2n。
5.第n行的m個(gè)數(shù)可表示為?C(n-1,m-1),即為從n-1個(gè)不同元素中取m-1個(gè)元素的組合數(shù)。
6.第n行的第m個(gè)數(shù)和第n-m+1個(gè)數(shù)相等 ,為組合數(shù)性質(zhì)之一。
7.每個(gè)數(shù)字等于上一行的左右兩個(gè)數(shù)字之和。可用此性質(zhì)寫出整個(gè)楊輝三角。即第n+1行的第i個(gè)數(shù)等于第n行的第i-1個(gè)數(shù)和第i個(gè)數(shù)之和,這也是組合數(shù)的性質(zhì)之一。即?C(n+1,i)=C(n,i)+C(n,i-1)。
8.(a+b)n的展開(kāi)式中的各項(xiàng)系數(shù)依次對(duì)應(yīng)楊輝三角的第(n+1)行中的每一項(xiàng)。
9.將第2n+1行第1個(gè)數(shù),跟第2n+2行第3個(gè)數(shù)、第2n+3行第5個(gè)數(shù)……連成一線,這些數(shù)的和是第4n+1個(gè)斐波那契數(shù);將第2n行第2個(gè)數(shù)(n1),跟第2n-1行第4個(gè)數(shù)、第2n-2行第6個(gè)數(shù)……這些數(shù)之和是第4n-2個(gè)斐波那契數(shù)。
10將各行數(shù)字相排列,可得11的n-1(n為行數(shù))次方:1=11^0; 11=11^1; 121=11^2……當(dāng)n5時(shí)會(huì)不符合這一條性質(zhì),此時(shí)應(yīng)把第n行的最右面的數(shù)字"1"放在個(gè)位,然后把左面的一個(gè)數(shù)字的個(gè)位對(duì)齊到十位。
以此類推,把空位用“0”補(bǔ)齊,然后把所有的數(shù)加起來(lái),得到的數(shù)正好是11的n-1次方。以n=11為例,第十一行的數(shù)為:1,10,45,120,210,252,210,120,45,10,1,結(jié)果為 25937424601=1110。
參考資料:楊輝三角-百度百科
#include stdio.h
void main()
{
void f(int n);
int n=0;
while(n1 || n16)
{
printf("請(qǐng)輸入楊輝三角形的行數(shù):");
scanf("%d",n);
}
f(n);
}
void f(int n)
{
int i,j,a[17][17]={0};
for(i=0;in;i++)
a[i][0]=1;
for(i=1;in;i++)
for(j=1;j=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;in;i++)
{
for(j=0;j=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
#includestdio.h
int?fun(int?a[][100],int?n);
main()
{
int?n,i,j;
int?a[100][100];
scanf("%d",n);
fun(a,n);
for(i=0;in;i++)
{
for(j=0;j=i;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}?
int?fun(int?a[][100],int?n)
{
int?i,j;
for(i=0;in;i++)
a[i][0]=1;
for(i=0;in;i++)
for(j=0;j=i;j++)
a[i][j]=1;
for(i=1;in;i++)
for(j=1;j=i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
#include stdio.h
#define N 6
int main()
{
int a[N][N]={0},i,j;
for(i=0;iN;i++)
{
for(j=0;j=i;j++)
{
if(j==0||i==j)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=0;iN;i++)
{
for(j=0;j=i;j++){
printf("%d\t",a[i][j]);
if(j==i)
printf("\n");
}
}
return 0;
}
先定義一個(gè)二維數(shù)組:a[N][N],略大于要打印的行數(shù)。再令兩邊的數(shù)為1,即當(dāng)每行的第一個(gè)數(shù)和最后一個(gè)數(shù)為1。alt;igt;[0]=alt;igt;[i-1]=1,n為行數(shù)。除兩邊的數(shù)外,任何一個(gè)數(shù)為上兩頂數(shù)之和,即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];/*定義二維數(shù)組a[14][14]*/
while(nlt;=0||ngt;=13){/*控制打印的行數(shù)不要太大,過(guò)大會(huì)造成顯示不規(guī)范*/
printf("請(qǐng)輸入要打印的行數(shù):");
scanf("%d",n);
}
printf("%d行楊輝三角如下:\n",n);
for(i=1;ilt;=n;i++)
alt;igt;[1]=alt;igt;lt;igt;=1;/*兩邊的數(shù)令它為1,因?yàn)楝F(xiàn)在循環(huán)從1開(kāi)始,就認(rèn)為alt;igt;[1]為第一個(gè)數(shù)*/
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];/*除兩邊的數(shù)外都等于上兩頂數(shù)之和*/
for(i=1;ilt;=n;i++){
for(k=1;klt;=n-i;k++)
printf("");/*這一行主要是在輸出數(shù)之前打上空格占位,讓輸出的數(shù)更美觀*/
for(j=1;jlt;=i;j++)/*jlt;=i的原因是不輸出其它的數(shù),只輸出我們想要的數(shù)*/
printf("%6d",alt;igt;[j]);
printf("\n");/*當(dāng)一行輸出完以后換行繼續(xù)下一行的輸出*/
}
printf("\n");
}
運(yùn)行結(jié)果:
請(qǐng)輸入要打印的行數(shù):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
擴(kuò)展資料:
楊輝三角概述:
1.每個(gè)數(shù)等于它上方兩數(shù)之和。
2.每行數(shù)字左右對(duì)稱,由1開(kāi)始逐漸變大。
3.第n行的數(shù)字有n+1項(xiàng)。
4.第n行數(shù)字和為2n。
5.第n行的m個(gè)數(shù)可表示為C(n-1,m-1),即為從n-1個(gè)不同元素中取m-1個(gè)元素的組合數(shù)。
6.第n行的第m個(gè)數(shù)和第n-m+1個(gè)數(shù)相等,為組合數(shù)性質(zhì)之一。
7.每個(gè)數(shù)字等于上一行的左右兩個(gè)數(shù)字之和。可用此性質(zhì)寫出整個(gè)楊輝三角。即第n+1行的第i個(gè)數(shù)等于第n行的第i-1個(gè)數(shù)和第i個(gè)數(shù)之和,這也是組合數(shù)的性質(zhì)之一。即C(n+1,i)=C(n,i)+C(n,i-1)。
8.(a+b)n的展開(kāi)式中的各項(xiàng)系數(shù)依次對(duì)應(yīng)楊輝三角的第(n+1)行中的每一項(xiàng)。
9.將第2n+1行第1個(gè)數(shù),跟第2n+2行第3個(gè)數(shù)、第2n+3行第5個(gè)數(shù)……連成一線,這些數(shù)的和是第4n+1個(gè)斐波那契數(shù);將第2n行第2個(gè)數(shù)(ngt;1),跟第2n-1行第4個(gè)數(shù)、第2n-2行第6個(gè)數(shù)……這些數(shù)之和是第4n-2個(gè)斐波那契數(shù)。
參考資料:
百度百科——楊輝三角
分享名稱:C語(yǔ)言調(diào)用函數(shù)楊輝三角 調(diào)用函數(shù)輸出楊輝三角
地址分享:http://chinadenli.net/article32/hgdepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、軟件開(kāi)發(fā)、網(wǎng)站排名、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)