二維陣列實現楊輝三角
阿新 • • 發佈:2018-12-12
參考連結:http://c.biancheng.net/view/495.html
#include <stdio.h> #define N 20 int main(int argc, const char *argv[]) { int a[N][N] = {{0}}; /*定義二維陣列a[20][20]*/ int i, j, k; int n = 0; while(n<=0 || n>20){ /*控制列印的行數不要太大,過大會造成顯示不規範*/ printf(">:"); scanf("%d",&n); } for (i = 0; i < n; i++){ a[i][0] = 1; /*兩邊的數令它為1,因為現在迴圈從1開始,就認為a[i][0]為第一個數*/ for(j = 1; j <= i; j++) a[i][j] = a[i-1][j-1] + a[i-1][j]; /*除兩邊的數外都等於上兩頂數之和*/ } for (i = 0; i < n; i++){ for(k = 0; k <= n-i; k++) printf(" "); /*這一行主要是在輸出數之前打上空格佔位,讓輸出的數更美觀*/ for(j = 0; j <= i; j++) /*j<=i的原因是不輸出其它的數,只輸出我們想要的數*/ printf("%-6d",a[i][j]); putchar('\n'); /*當一行輸出完以後換行繼續下一行的輸出*/ } return 0; }
結果如下