Re: [問題] C語言用*畫數字圖形

看板C_and_CPP作者 (windf4)時間14年前 (2010/11/10 08:51), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串5/5 (看更多)
把數字按 row拆開,總共只有四種: ***** 全星 drawF() * * 雙星 drawT() * 左端 drawL() * 右端 drawR() 再看最小的 5*5,可以分成五層 ***** <- 一 * <- 二 ***** <- 三 * <- 四 ***** <- 五 令一、三、五固定佔 1 row;只有二、四兩層會增長。 則畫一個數字可以分成五部份(以2為例): 畫一層: drawF(size); 畫二層: drawR(size); 重複 (size-3)/2 次 畫三層: drawF(size); 畫四層: drawL(size); 重複 (size-3)/2 次 畫五層: drawF(size); 考慮到size為偶數情況,我把多的一次放到四層,所以四層重複 (size-2)/2 次。 最後再利用 switch-case,做出來大致長這樣: void printDigit(int size, int num) { switch(num) { case 0: ... case 1: ... case 2: drawF(size); drawR(size); 重複 (size-3)/2 次 drawF(size); drawL(size); 重複 (size-2)/2 次 drawF(size); break; case 3: ..... case 9: ... } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.9.23

11/11 02:38, , 1F
區分pattern的方法也不錯, 推一下:)
11/11 02:38, 1F
文章代碼(AID): #1Csbpwwd (C_and_CPP)
文章代碼(AID): #1Csbpwwd (C_and_CPP)