Re: [問題] C語言用*畫數字圖形
把數字按 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
11/11 02:38, 1F
討論串 (同標題文章)
完整討論串 (本文為第 5 之 5 篇):
問題
13
31