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

博客介绍了如何解决ITSA C_ST53编程问题,重点在于揭示数字矩阵显示的简单技巧。作者通过分享参考链接和解释,帮助读者理解并记忆这类问题的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值