真的真的不复杂,数字显示器
输入string就可以用cin
输出string就可以用cout
但是需要头文件#include < string >
或者添加后缀 .c_str(),比如cout<<str…c_str()<<endl;(这里str为string变量)
P5730 【深基5.例10】显示屏
题目描述
液晶屏上,每个阿拉伯数字都是可以显示成 3×5 的点阵的(其中 X 表示亮点,. 表示暗点)。现在给出数字位数(不超过 100)和一串数字,要求输出这些数字在显示屏上的效果。数字的显示方式如同样例输出,注意每个数字之间都有一列间隔。
输入格式
无
输出格式
无
输入输出样例
输入
10
0123456789
输出
自己跑一下代码叭,格式太难搞了
#pragma GCC optimize(3,"Ofast")
#include<bits/stdc++.h>
using namespace std;
void intoit_0(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_1(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_2(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_3(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_4(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_5(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_6(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_7(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_8(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_9(string &first,string &second,string &third,string &forth,string &fifth);
void intoit_NULL(string &first,string &second,string &third,string &forth,string &fifth);
int main(){
string first,second,third,forth,fifth;
int n;
cin>>n;
char num[n+1];
scanf("%s",num);
for(int i=0;i<n;i++){
if(i!=n-1){
if(num[i]=='0'){
intoit_0(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
if(num[i]=='1'){
intoit_1(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
if(num[i]=='2'){
intoit_2(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
if(num[i]=='3'){
intoit_3(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
if(num[i]=='4'){
intoit_4(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
if(num[i]=='5'){
intoit_5(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
if(num[i]=='6'){
intoit_6(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
if(num[i]=='7'){
intoit_7(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
if(num[i]=='8'){
intoit_8(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
if(num[i]=='9'){
intoit_9(first,second,third,forth,fifth);
intoit_NULL(first,second,third,forth,fifth);
}
}
else{
if(num[i]=='0'){
intoit_0(first,second,third,forth,fifth);
}
if(num[i]=='1'){
intoit_1(first,second,third,forth,fifth);
}
if(num[i]=='2'){
intoit_2(first,second,third,forth,fifth);
}
if(num[i]=='3'){
intoit_3(first,second,third,forth,fifth);
}
if(num[i]=='4'){
intoit_4(first,second,third,forth,fifth);
}
if(num[i]=='5'){
intoit_5(first,second,third,forth,fifth);
}
if(num[i]=='6'){
intoit_6(first,second,third,forth,fifth);
}
if(num[i]=='7'){
intoit_7(first,second,third,forth,fifth);
}
if(num[i]=='8'){
intoit_8(first,second,third,forth,fifth);
}
if(num[i]=='9'){
intoit_9(first,second,third,forth,fifth);
}
}
}
printf("%s\n",first.c_str());
printf("%s\n",second.c_str());
printf("%s\n",third.c_str());
printf("%s\n",forth.c_str());
printf("%s\n",fifth.c_str());
return 0;
}
void intoit_NULL(string &first,string &second,string &third,string &forth,string &fifth){
first+=".";
second+=".";
third+=".";
forth+=".";
fifth+=".";
}
void intoit_0(string &first,string &second,string &third,string &forth,string &fifth){
first+="XXX";
second+="X.X";
third+="X.X";
forth+="X.X";
fifth+="XXX";
}
void intoit_1(string &first,string &second,string &third,string &forth,string &fifth){
first+="..X";
second+="..X";
third+="..X";
forth+="..X";
fifth+="..X";
}
void intoit_2(string &first,string &second,string &third,string &forth,string &fifth){
first+="XXX";
second+="..X";
third+="XXX";
forth+="X..";
fifth+="XXX";
}
void intoit_3(string &first,string &second,string &third,string &forth,string &fifth){
first+="XXX";
second+="..X";
third+="XXX";
forth+="..X";
fifth+="XXX";
}
void intoit_4(string &first,string &second,string &third,string &forth,string &fifth){
first+="X.X";
second+="X.X";
third+="XXX";
forth+="..X";
fifth+="..X";
}
void intoit_5(string &first,string &second,string &third,string &forth,string &fifth){
first+="XXX";
second+="X..";
third+="XXX";
forth+="..X";
fifth+="XXX";
}
void intoit_6(string &first,string &second,string &third,string &forth,string &fifth){
first+="XXX";
second+="X..";
third+="XXX";
forth+="X.X";
fifth+="XXX";
}
void intoit_7(string &first,string &second,string &third,string &forth,string &fifth){
first+="XXX";
second+="..X";
third+="..X";
forth+="..X";
fifth+="..X";
}
void intoit_8(string &first,string &second,string &third,string &forth,string &fifth){
first+="XXX";
second+="X.X";
third+="XXX";
forth+="X.X";
fifth+="XXX";
}
void intoit_9(string &first,string &second,string &third,string &forth,string &fifth){
first+="XXX";
second+="X.X";
third+="XXX";
forth+="..X";
fifth+="XXX";
}