天天看點

c語言字母楊輝三角,楊輝三角(C語言)

楊輝三角

楊輝三角,是二項式系數在三角形中的一種幾何排列,中國南宋數學家楊輝1261年所著的《詳解九章算法》一書中出現。在歐洲,帕斯卡(1623----1662)在1654年發現這一規律,是以這個表又叫做帕斯卡三角形。帕斯卡的發現比楊輝要遲393年,比賈憲遲600年。

如圖:

它的規律是,除了每一行的第一個數和最後一個數,其餘每個數等于上面兩個數字值之和。

C語言實作:

#include

void yanghui(int number);

int main(void){

int number = 0;

printf("請輸入要列印的層數:");

scanf("%d",&number);

yanghui(number);

}

void yanghui(int number){

int i , j , k , z;

int array[100][100] = {0};

for (i = 0; i < number; i++) //為每一行的第一個和最後一個數指派1

{

for (j = 0; j <= i; j++)

{

array[i][0] = 1;

if (i == j)

{

array[i][j] = 1;

}

}

}

for( i = 0 ; i < number ; i ++) //控制行數

{

for( k = 0 ; k <= i ; k ++) //控制列數

{

if(k == 0) //如果是每行第一個數就列印1

{

for(z = 0 ; z < number - i ; z ++) //控制每一行前面的空格

{

printf(" ");

}

printf("%d",array[0][0]);

printf(" ");

}else if(k == i) //如果是每行的最後一個就列印1

{

printf("%d",array[0][0]);

}

if(k != 0 && k != i) //如果不是每行的第一個也不是最後一個就列印上一行兩個數的和

{

array[i][k] = array[i-1][k-1] + array[i-1][k];

printf("%d",array[i][k]);

printf(" ");

}

}

printf("\n"); //每列印一行進行換行

}

}

輸出: