㈠ c語言 楊輝三角形
#include<stdio.h>
intfun(inta[][100],intn);
main()
{
intn,i,j;
inta[100][100];
scanf("%d",&n);
fun(a,n);
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
printf("%d ",a[i][j]);
printf(" ");
}
}
intfun(inta[][100],intn)
{
inti,j;
for(i=0;i<n;i++)
a[i][0]=1;
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
a[i][j]=1;
for(i=1;i<n;i++)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
㈡ C語言編程輸出楊輝三角形(要求輸出10行)
#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;
}
(2)c語言產生楊輝三角形擴展閱讀:
c語言需要說明的是:
1.一個C語言源程序可以由一個或多個源文件組成。
2.每個源文件可由一個或多個函數組成。
3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。是整個程序的入口。
4.源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。
5.每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。結構體、聯合體、枚舉型的聲明的「}」後要加「 ;」。
6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
網路-c語言
㈢ c語言 用行指針輸出楊輝三角
#include"iostream.h"
#include"stdlib.h"
intmain()
{
while(1)
{
cout<<"輸入顯示楊輝三角的行數: ";//不要輸入太大,int有限制.
inti_line;
cin>>i_line;
cout<<"三角形如下 ";
int**p;//建立二維數組
p=newint*[i_line];//指針分配空間
inti;//循環變數
for(i=0;i<i_line;i++)
{
*(p+i)=newint[i+1];//每一行分配空間
}
for(i=0;i<i_line;i++)//生成三角形
{
**(p+i)=1;
*(*(p+i)+i)=1;//楊輝三角,每一行第一個、最後一個數是1
if(i>=2)//第三行開始
{
for(intj=1;j<i;j++)//第三行開始,迭代
*(*(p+i)+j)=*(*(p+i-1)+j-1)+*(*(p+i-1)+j);
}
}
for(i=0;i<i_line;i++)
{
for(intm=0;m<i_line-i-1;m++)
cout<<"";//輸出空格
for(intk=0;k<=i;k++)//顯示每一行
cout<<*(*(p+i)+k)<<"";
cout<<" ";
}
cout<<" ";
}
cout<<endl;
return0;
}
#include<stdlib.h>
#include<stdio.h>
intf(intn)
{
if(n==1||n==0)
return1;
else
returnf(n-1)*n;
}
intmain()
{
inti,j,k,n;
printf("請輸入行數(最好<=13):");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(k=(n-i)*2;k>0;k--)
printf("");
for(j=0;j<=i;j++)
printf("%4d",(f(i)/f(j)/f(i-j)));
printf("
");
}
return0;
}
不懂再問吧……
㈣ 怎麼用C語言編寫楊輝三角
下面第一個是編寫楊輝三角的程序(可以通過改變N的大小得到不同大小的三角形)
第二個程序是輸出某一行某一列的數字。
#include<stdio.h>
#define N 10
int main()
{
int a[N][N];
int i,j,k;
for(i=0;i<N;i++)
{
for(k=0;k<N-i;k++)
printf(" ");
for(j=0;j<i;j++)
{
if(j==0||j==i-1)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
printf("%4d",a[i][j]);
}
printf(" ");
}
return 0;
}
㈤ c語言程序輸出楊輝三角形
因為n的值並沒有實際的意義,而且,最後一個循環應該是死循環,n的值一直在增加,j永遠跟n差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));
getchar();//暫停等待
}
(6)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個斐波那契數。
㈦ c語言程序楊輝三角
#include <stdio.h>
main()
{ int i,j,n=0,a[17][17]={0};
while(n<1 || n>16)
{ printf("請輸入楊輝三角形的行數(大於0,小於17):");
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");
}
}
//夠簡單了吧?
㈧ 怎麼用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
(8)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個斐波那契數。
㈨ C語言,輸出楊輝三角
修改:#include"stdio.h"
void main()
{
int a[10][10],i,j;
for(i=0;i<=9;i++){
a[i][0]=1;//原代碼此處需修改,第一位數為1
a[i][i]=1;
}
for(i=1;i=9;i++)
for(j=1;j<i;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 ",a[i][j]);}
printf("
");
}return 0;}
(9)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個斐波那契數。
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。
㈩ 用C語言編寫楊輝三角形
楊輝三角形是形如
1
1
1
1
2
1
1
3
3
1
1
4
6
4
1
的三角形,其實質是二項式(a+b)的n次方展開後各項的系數排成的三角形,它的特點是左右兩邊全是1,從第二行起,中間的每一個數是上一行里相鄰兩個數之和。這個題目常用於程序設計的練習。
下面給出六種不同的解法。
解法一
#include
main()
{
int
i,j,n=0,a[17][17]={0};
while(n<1
||
n>16)
{
printf("請輸入楊輝三角形的行數:");
scanf("%d",&n);
}
for(i=0;i
評論
0
0
0
載入更多