1. 程式人生 > >簡易的楊輝三角

簡易的楊輝三角

而已 分享 scan can png std 維數 void src

利用二維數組,可以更加清晰的理解楊輝三角的規律:

技術分享

將二維數組看成表格形式,總結楊輝三角規律如上。

代碼:

#include <stdio.h>
void main()
{
  int num[10][10];            //獲取一個二維數組
  int i,j;                 //變量(下標) i,j 。分別控制行與列
  for(i=0;i<10;i++){           // 下標從 0 開始
    num[i][0]=1;           //第一列的數字都為 1
    num[i][i]=1;           //兩變量相等時(對角線)數值為 1
  }
    for(i=2;i<10;i++){        //從第 3 行開始算(前兩行數值都為 1),所以 i=2
      for(j=1;j<i;j++){      /*從第 2 列開始算 ,第 1 列數值都為1, 當 j = i 時 為二維數組對角線,這裏對角線都為 1,所以此處 j < i */

        num[i][j]=num[i-1][j-1]+num[i-1][j];
      }
    }    /*對數組進行遍歷輸出,i,j 都從 0 開始循環*/
        for(i=0;i<10;i++){
          for(j=0;j<=i;j++){ //j=i為對角線 遍歷輸出時應該輸出
            printf("%d\t",num[i][j]);
          }
              printf("\n");//外層循環每循環一圈 換行一次
        }
}

效果圖:

技術分享

稍微進行修改,做成可以控制高度的(只是加了一個變量而已):

#include <stdio.h>
void main()
{
int hight;
printf("請輸入楊輝三角的高度:\t");
scanf("%d",&hight);
int num[hight][hight]; //獲取一個二維數組
int i,j; //變量(下標) i,j 。分別控制行與列
for(i=0;i<hight;i++){ // 下標從 0 開始
num[i][0]=1; //第一列的數字都為 1
num[i][i]=1; //兩變量相等時(對角線)數值為 1
}
for(i=2;i<hight;i++){ //從第 3 行開始算(前兩行數值都為 1),所以 i=2
for(j=1;j<i;j++){/*從第 2 列開始算 ,第 1 列數值都為1
當 j = i 時 為二維數組對角線,這裏對角線都為 1,所以此處 j < i */
num[i][j]=num[i-1][j-1]+num[i-1][j];
}
}/*對數組進行遍歷輸出,i,j 都從 0 開始循環*/
for(i=0;i<hight;i++){
for(j=0;j<=i;j++){ //j=i為對角線 遍歷輸出時應該輸出
printf("%d\t",num[i][j]);
}
printf("\n");//外層循環每循環一圈 換行一次
}
}

效果圖:

技術分享

簡易的楊輝三角