楊輝c語言函數,楊輝三角c語言函數調用

本文目錄一覽:

C語言 楊輝三角用函數表示

#include stdio.h

void main()

{

void f(int n);

int n=0;

while(n1 || n16)

{

printf(“請輸入楊輝三角形的行數:”);

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”);

}

}

怎樣用c語言來編寫楊輝三角形的遞歸程序?

方法一:用二維數組來編寫。

方法二:用自定義函數來編寫。

首先,楊輝三角的兩個腰邊的數都是1,其它位置的數都是上頂上兩個數之和。楊輝三角的任意一行都是的二項式係數,n為行數減1。也就是說任何一個數等於這個是高中的組合數。n代表行數減1,不代表列數減1。如:第五行的第三個數就為=6。

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

方法二:自定義函數代碼:

楊輝三角中的任何一個數都等於一個組合數。

#include stdio.h/* * 定義階乘,在這裡可能會想。為什麼要用float,當我試第一次的時候, * 如果用int的話,那麼在列印行數多了以後就會出錯。 * 這是因為階乘的數比較大,如果用int就不夠用了。下同 */float J(int i){  int j;  float k=1;  for(j=1;j=i;j++)    k=k*j;  return(k);}float C(int i,int j){ /*定義組合數*/  float k;  k=J(j)/(J(i)*J(j-i));  return(k);}void main(){  int i=0,j,k,n; /*列印楊輝三角*/  while(i=0||i16){    printf(“請輸入要列印的行數:”);    scanf(“%d”,i);  }  printf(“%d行楊輝三角如下:\n”,i);  for(j=0;ji;j++){    for(k=1;k=(i-j);k++)      printf(” “);    for(n=0;n=j;n++)      printf(“%4.0f”,C(n,j));    printf(“\n”);  }  printf(“\n\n”);}

c語言 楊輝三角中函數的調用,請各位大蝦幫忙修改下,謝啦!

#include stdio.h

#include math.h

int c(int x,int y);//如果自定義函數初始化放在main函數之後,必須先聲明,如果在main函數之前初始化,就可以省略聲明

/*楊輝三角*/

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

}

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

擴展資料:

楊輝三角概述:

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個數(n1),跟第2n-1行第4個數、第2n-2行第6個數……這些數之和是第4n-2個斐波那契數。

10將各行數字相排列,可得11的n-1(n為行數)次方:1=11^0; 11=11^1; 121=11^2……當n5時會不符合這一條性質,此時應把第n行的最右面的數字”1″放在個位,然後把左面的一個數字的個位對齊到十位。

以此類推,把空位用「0」補齊,然後把所有的數加起來,得到的數正好是11的n-1次方。以n=11為例,第十一行的數為:1,10,45,120,210,252,210,120,45,10,1,結果為 25937424601=1110。

參考資料:楊輝三角-百度百科

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270858.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 13:39
下一篇 2024-12-16 13:39

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29

發表回復

登錄後才能評論