4659: 【GESP2412三级】打印数字

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:5 解决:4

题目描述

⼩杨为数字$0$ ,$1$ ,$2$ 和$3$ 设计了一款表示形式,每个数字占用了$5×5$ 的网格。数字$0$ ,$1$ ,$2$ 和$3$ 的表示形式如下:
..... ****. ..... .....
.***. ****. ****. ****.
.***. ****. ..... .....
.***. ****. .**** ****.
..... ****. ..... .....

小杨想请你将给定的数字$n$ 转换为对应的表示形式。

输入

第一行包含一个正整数代表$n$ 。

输出

输出对应的表示形式。

样例输入 复制

12230

样例输出 复制

****.....................
****.****.****.****..***.
****.................***.
****..****.********..***.
****.....................

提示

#include <iostream>
#include <string>
using namespace std;
int main() {
    string n;
    cin >> n;
    for (int row = 0; row < 5; row++) {
        string line = "";
        for (char digit: n) {
            if (digit == '0') {
                if (row == 0 || row == 4) {
                    line += ".....";
                } else {
                    line += ".***.";
                }
            } else if (digit == '1') {
                line += "****.";
            } else if (digit == '2') {
                if (row == 0) {
                    line += ".....";
                } else if (row == 1) {
                    line += "****.";
                } else if (row == 2) {
                    line += ".....";
                } else if (row == 3) {
                    line += ".****";
                } else {
                    line += ".....";
                }
            } else if (digit == '3') {
                if (row == 0) {
                    line += ".....";

                } else if (row == 1) {
                    line += "****.";
                } else if (row == 2) {
                    line += ".....";
                } else if (row == 3) {
                    line += "****.";
                } else {
                    line += ".....";
                }
            }
        }
        cout << line << endl;
    }
    return 0;
}