天助自助, 如果你自己都不想用功, 那再多的小助教也幫不上你 ...


      再次強調,  先不要管語法啦!
           (真的要知道更多語法就用  TC 的  IDE 整合模式內打  Control_F1 看)

  現在就請下定決心, 好好的把這 Pascal Triangle 從手動作到用程式做仔細研究!
  看不懂就立刻抓小助教來問啦!

 pas000.c  ==>  pas00.c  ==> pas0.c ==> pas1.c ==> pas2.c ==> pas3.c ==> pas4.c ==> pas5.c

就是先拿 pas000.c 去改, 改不出想不下去就看 pas00.c,  再弄不下去才看 pas0.c, ...
直到可以自己不看就弄出 pas5.c 


    1 //pas000.c   --- by tsaiwn@csie.nctu.edu.tw    /// pseudo code
    2 //generate Pascal Triangle of order n
    3 // 先用 #define 把可能會改的寫成符號常數是好習慣!
    4 #define MAX_N  19
    5 /// 以後若要改 array 大小則只要改上列的 19 即可
    6 int x[MAX_N][MAX_N];      // 這樣寫很好 :-)  注意前面的 #define
    7 /// /// // 假設陣列如上的 x[19] [19]  ==> 這樣最大可做到 18 階巴斯卡三角形
    8 ///  不懂如何做 Pascal Triangle 的..
    9 ///       可以到 http://wikipedia.net 打入 pascal triangle 查
   10 ///       或是看我給的投影片 (bb.nctu.edu.tw 和備用網址內都有放)
   11 ///  ==> 要把一般正三角形的 Pascal Triangle 往左推 45 度變成直角三角形
   12 ///
   13 ///     1
   14 ///     1     1
   15 ///     1     2      1
   16 ///     1     3      3     1
   17 ///     1     4      6     4     1
   18 ///     1     5    10    10     5     1
   19 ///  這樣除了最左與最右都是 1, 中間每格都是等於 其上方那格  加  左上角那格
   20 #include <stdio.h>
   21 int main( ) {   // 每個程式都長這樣
   22       讀入一整數  n ,  可以寫成一個 function 分工合作方便日後修改
   23       Loop for  i  from 0  to n     //   n 階要從第 0 列到第 n 列
   24            x[i][0] =1;    // 最左邊放 1  (就是第 i 列的第 0 個)
   25            在 x[i]  這列的 最右邊放 1  (就是第 i 列的第 i 個)
   26            // 接下來用 for Loop 處理中間各元素
   27            for(j=1; j<= i-1; j++)  {    // 第 i 列的中間每一格都要填
   28                //x[i][j]=  正上方元素  +  左上角元素 ;
   29                //    如何表示 x[i][j] 的正上方?   左上角?
   30            }  // for(j
   31            // 整列好了, 再來當然就可以用 for Loop 把整列印出來
   32            // 每列印之前可以先印一些空格就可印成正三角形
   33            // 用 for Loop 把 這第 i 列的 第0個到第 i 個 整列印出
   34            printf("\n");         // 當然要記得印出換新列(new Line)      
   35       next for i  /* for i  從 第0列 到 第 n 列 */  
   36       // 如果你要全部填完再用兩層 for Loop 印出也可以, 但可印就印何必等到全部弄好?
   37       // 這樣寫只能做一次, 若要一直做到輸入是負數怎麼做? 
   38 }  // main
