Re: [問題] 怎麼用*排出數字

作者: pziyout (pziyout)   2019-07-05 17:28:28
※ 引述《ben1357956 (QQ雞腿)》之銘言:
: 如題
: 我想要輸入一串數字
: 自動輸出成米字號的樣子
: 像是輸入1
: 跑出下列這樣
: *
: *
: *
: *
: *
: *
: *
: 新手上路,多多指教
我想你的問題大約是輸入數字,要產生對應的點陣圖,例如:
> 23904
2222 3333 9999 0000 4 4
2 3 9 9 0 0 4 4
2222 3333 9999 0 0 4444
2 3 9 0 0 4
2222 3333 9999 0000 4
這題目就是先將各個數字的點陣圖以數字存起來,例如:數字 2 的點陣圖
如下,中間圖形是將左邊的點陣以二進位表示,右邊為將二進位數換成十進位
數字表示,如此數字二的 5x4 點陣就可用 15,1,15,8,15 等五個數字替代。
**** 1111 15
* 0001 1
**** 1111 15
* 1000 8
**** 1111 15
接下來當然就是要如何由各列的 10 進位數字得知其二進位的位元是 0 或
是 1,若為 1 則印資料,若為 0 則印空格,此時可利用 >> 運算子將數字
的位元向右移若干位,例如:數字 12 的二進位為 1100 使用 >> 可向右移
動若干個位元,觀察以下可知數字 12 各位元的資料都被擠到最右邊,同時
最右邊的位元剛好控制數字為奇數或偶數,如此一來就可用 %2 得知,
整個過程如下:
12 >> 0 ===> 1100 %2 後得
作者: ides13 (juso)   2019-07-05 17:35:00
作者: JamesChen (James)   2019-07-05 19:43:00
居然願意回 真的推 人太好了
作者: BalloonBa (巴倫巴)   2019-07-05 22:48:00
作者: cutekid (可愛小孩子)   2019-07-06 01:28:00
推(y)
作者: ben1357956 (QQ雞腿)   2019-07-06 02:14:00
前輩真的感謝 寫的超詳細
作者: nurockplayer (塔奇巧克力)   2019-07-06 07:42:00
作者: Hsins (翔)   2019-07-06 17:24:00
人太好ㄌ,這個是某本書的第一章練習題而已...
作者: yummy8765 (tsuyoku)   2019-07-08 03:49:00
推....
作者: stillcolor (鬼艾倫)   2019-07-08 16:40:00
真的是第一章的練習題+1,當初看到也傻眼

Links booklink

Contact Us: admin [ a t ] ucptt.com