C語言 輸出楊輝三角
阿新 • • 發佈:2018-12-09
輸出以下的楊輝三角形(要求輸出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; }