楊輝三角(C語言)


楊輝三角

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

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

C語言實現:

#include <stdio.h>

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");		//每打印一行進行換行 
	}
}

輸出:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM