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

楊輝三角c的語言

發布時間: 2023-05-18 10:20:41

Ⅰ 用c語言編寫5行`楊輝三角~~急````

#include "stdlib.h"

//聲明隊列類型
typedef struct node
{
int data[21];
int head,rear;
}sequeue;

int num;//楊輝三角的層數

//隊列的初始化
void initial(sequeue *sq)
{
sq->head=-1;
sq->rear=-1;
}

//進隊操作
void ensequeue (sequeue *sq,int data1,int data2)
{
sq->rear++;
sq->data[sq->rear]=data1+data2;
}

//出隊操作
int desequeue(sequeue *sq)
{
return sq->data[++sq->head];
}

//求揚輝三角的第n行,將其存入隊列sq2指向的結點中
sequeue * fun(int n,sequeue *sq1)
{
int data1,data2=0,i;
sequeue *sq2;

sq2=(sequeue *)malloc(sizeof(sequeue));
initial(sq2);

//輸出每行前的空格以形成三角格式
for (i=0;i<num-n;i++)
printf(" ");

//輸出存儲在隊列中的某行元素,並計算下一行數
while(sq1->head!=sq1->rear)
{
data1=desequeue(sq1);

//處理兩樹之間的間隔距離
if (data1<10) printf(" %d",data1);
else if (data1<100) printf(" %d",data1);
else if (data1<1000) printf(" %d",data1);
else printf(" %d",data1);

ensequeue(sq2,data1,data2);
data2=data1;
}
sq2->data[++sq2->rear]=1;
printf("\n");
free(sq1);
return sq2;
}

int main(int argc,char *argv[])
{
int i;
sequeue *sq=(sequeue *)malloc (sizeof(sequeue));
initial(sq);
sq->rear++;
sq->data[sq->rear]=1; //將第一行存入隊列中,第一行只有1一個元素

printf("please put in a integer number(no more then 15)!\n\t");
scanf("%d",&num);

//fun()函數實現輸出一行元素並計算出下一行各個元素,經過num次調用fun函數輸出num層楊輝三角
for (i=0;i<num;i++)
sq=fun(i,sq);

return 0;
}

Ⅱ 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語言寫出等腰的楊輝三角

#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");
}

Ⅳ 用c語言輸出楊輝三角

C語言實現輸出n層楊輝三角,注意n>34時會導致長整型溢出,參考代碼如下:

#include<stdio.h>
intmain()
{
inti,j,n;
longa[34]={1};
scanf("%d",&n);
if(n>34)return1;
for(i=0;i<n;i++){
for(j=i;j>0;j--)
a[j]=a[j]+a[j-1];
for(j=0;j<=i;j++)
printf("%ld",a[j]);
printf(" ");
}
return0;
}

Ⅳ 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");
}
}

Ⅵ 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;

}

(6)楊輝三角c的語言擴展閱讀:

c語言需要說明的是:

1.一個C語言源程序可以由一個或多個源文件組成。

2.每個源文件可由一個或多個函數組成。

3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。是整個程序的入口。

4.源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。

5.每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。結構體、聯合體、枚舉型的聲明的「}」後要加「 ;」。

6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。

網路-c語言

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

}

(7)楊輝三角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>

  • #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;

Ⅸ 用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行的四個數恰好依次對應兩數和的立方的展開式的每一項的系數。

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

Ⅹ 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;

}