4659: 【GESP2412三级】打印数字
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:5
解决:4
题目描述
⼩杨为数字$0$ ,$1$ ,$2$ 和$3$ 设计了一款表示形式,每个数字占用了$5×5$ 的网格。数字$0$ ,$1$ ,$2$ 和$3$ 的表示形式如下:
小杨想请你将给定的数字$n$ 转换为对应的表示形式。
..... ****. ..... ..... .***. ****. ****. ****. .***. ****. ..... ..... .***. ****. .**** ****. ..... ****. ..... .....
小杨想请你将给定的数字$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;
}