1. 程式人生 > >C語言 輸出楊輝三角

C語言 輸出楊輝三角

輸出以下的楊輝三角形(要求輸出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
。。。
這道題其實不難,重在思路,思路一通,解題分分鐘。
首先設個a[10][10],包含10列10行的楊輝三角.
定義個行的迴圈變數i,列的迴圈變數j
觀察圖可以發現,楊輝三角彷彿除了第一列(也就是a[i][j]=1)等於1,之外其餘的彷彿都是a[i][j]=a[i-1][j-1]+a[i-1][j](注:每行最後一個1之後都可以看作1+0,等下程式碼中會有相關的定義)

#include<stdio.h>
int main()
{
    int a[10][10];
    int i,j;

    for(i=0;i<10;i++)
        {
            for(j=0;j<10;j++)
           {
             if(j==0)                           //當j=0時,a[i][j]==1;也就是輸出每行的第一個數1
                 a[i][j]=1;
             else if(j>i)                       //當j>i時,a[i][j]==0,就是每行陣列最後一個1其後的所有元素都為0
           {
                a[i][j]=0;
           }
             else if(j>0&&j<=i)
                 a[i][j]=a[i-1][j-1]+a[i-1][j]; //輸入總結出的規律
             if(a[i][j]!=0)
                 printf("%5d",a[i][j]);         //當a[i][j]=0,不輸出,其餘的全部輸出
           }
             printf("\n");
        }
    return 0;
}