ITSA [C_ST53-易] 矩陣數字顯示

Problem

http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=8018

Solution

這題的技巧我一開始想不到,我是參考這裡的,看到才恍然大悟原來這麼簡單,有時候怕忘記這種技巧就把它放在文章裡了

放在這似乎會跑版,會看不出來,以下陣列其實就是記住1-9的點陣圖

#include<iostream>
#include<string>

using namespace std;

int main()
{
    //initialize
    string LED_NUM[10][5];
    
    
    LED_NUM[0][0] = "*****";
    LED_NUM[0][1] = "*   *";
    LED_NUM[0][2] = "*   *";
    LED_NUM[0][3] = "*   *";
    LED_NUM[0][4] = "*****";
    
    //1
    LED_NUM[1][0] = "    *";
    LED_NUM[1][1] = "    *";
    LED_NUM[1][2] = "    *";
    LED_NUM[1][3] = "    *";
    LED_NUM[1][4] = "    *";
    
    
    LED_NUM[2][0] = "*****";
    LED_NUM[2][1] = "    *";
    LED_NUM[2][2] = "*****";
    LED_NUM[2][3] = "*    ";
    LED_NUM[2][4] = "*****";
    
    
    LED_NUM[3][0] = "*****";
    LED_NUM[3][1] = "    *";
    LED_NUM[3][2] = "*****";
    LED_NUM[3][3] = "    *";
    LED_NUM[3][4] = "*****";
    
    
    LED_NUM[4][0] = "*   *";
    LED_NUM[4][1] = "*   *";
    LED_NUM[4][2] = "*****";
    LED_NUM[4][3] = "    *";
    LED_NUM[4][4] = "    *";
    
    
    LED_NUM[5][0] = "*****";
    LED_NUM[5][1] = "*    ";
    LED_NUM[5][2] = "*****";
    LED_NUM[5][3] = "    *";
    LED_NUM[5][4] = "*****";
    
    
    LED_NUM[6][0] = "*****";
    LED_NUM[6][1] = "*    ";
    LED_NUM[6][2] = "*****";
    LED_NUM[6][3] = "*   *";
    LED_NUM[6][4] = "*****";
    
    
    LED_NUM[7][0] = "*****";
    LED_NUM[7][1] = "    *";
    LED_NUM[7][2] = "    *";
    LED_NUM[7][3] = "    *";
    LED_NUM[7][4] = "    *";
    
    
    LED_NUM[8][0] = "*****";
    LED_NUM[8][1] = "*   *";
    LED_NUM[8][2] = "*****";
    LED_NUM[8][3] = "*   *";
    LED_NUM[8][4] = "*****";
    
    
    LED_NUM[9][0] = "*****";
    LED_NUM[9][1] = "*   *";
    LED_NUM[9][2] = "*****";
    LED_NUM[9][3] = "    *";
    LED_NUM[9][4] = "    *";
    
    string s;
    while (cin >> s)
    {
        for (int i = 0; i < 5; i++){
            for (int j = 0; j < s.length(); j++)
            {
                if (j > 0) // 第一格不用印空白
                    cout << " ";
                cout << LED_NUM[s[j] - '0'][i];
                
                if(j == s.length() - 1) //最後要換行
                    cout << endl;
            }
        }
    }
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 为何叫做 shell ? shell prompt(PS1) 与 Carriage Return(CR) 的关系?...
    Zero___阅读 8,404评论 3 49
  • 我的读书经验 - 李笑来 李笑来李笑来,原新东方名师,中国比特币首富,著名天使投资人,著有《把时间当作朋友》、《新...
    YasuoYuHao阅读 13,274评论 9 61
  • 『1』 瀨谷是被突然拜訪的警員自醫署請到警局的,那個面目平庸的年輕人將他領到審訊室的門口,然後恭恭敬敬在那兒站住了...
    摸鱼手喵帕斯坦阅读 4,673评论 0 1
  • 逆向思考、掉坑清单、竞争优势 1.逆向思考 查理在思考的时候有个特别的思考方式,就是逆向思考。 如果要明白人生如何...
    伽蓝214阅读 1,898评论 0 0
  • OSI-网络层 我们知道OSI的第二层,即数据链路层使用MAC地址来编址,而MAC地址是一个平面的编址方案。为啥说...
    水雨田阅读 3,532评论 2 1