专栏文章

题解:P5730 【深基5.例10】显示屏

P5730题解参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@mip4wq9d
此快照首次捕获于
2025/12/03 06:13
3 个月前
此快照最后确认于
2025/12/03 06:13
3 个月前
查看原文

思路:

给你一串数字,请输出其对应的 3×53 \times 5 的点阵。
联系生活实际,做过电梯的都懂。
由于每个数字对应的点阵是固定的,因此本题可以使用贪心 ++ 暴力解决。只需将 090 \sim 9 中的所有整数的点阵存入数组,需要时再调用即可。

Code:

CPP
#include<bits/stdc++.h>
using namespace std;
int n;
string s;
string ans[10][5]={"XXX","X.X","X.X","X.X","XXX",
				  	 "..X","..X","..X","..X","..X",
				 	 "XXX","..X","XXX","X..","XXX",
				   	 "XXX","..X","XXX","..X","XXX",
				   	 "X.X","X.X","XXX","..X","..X",
				   	 "XXX","X..","XXX","..X","XXX",
				  	 "XXX","X..","XXX","X.X","XXX",
				   	 "XXX","..X","..X","..X","..X",
				  	 "XXX","X.X","XXX","X.X","XXX",
				  	 "XXX","X.X","XXX","..X","XXX"};
//ans数组存0~9中整数相对应的点阵。
int main(){
	cin>>n>>s;
	for(int i=0;i<5;i++){//5行。
		for(int j=0;j<n;j++){//n列。
			cout<<ans[s[j]-'0'][i];//输出对应点阵。
			if(j!=n-1)cout<<".";//输出间隔符。
		}
		cout<<"\n";//换行。
	}
	return 0;//好习惯。
}
有疑问随时私信哦!

评论

1 条评论,欢迎与作者交流。

正在加载评论...