题目描述
电子钟用四个数字来表示时间,每个数字的尺寸为3*3,用于表示数字的字符包括‘|’、‘_’和空格。
现在给你当前的时间,请你告诉我们电子钟是如何展示这个时间的。
电子钟显示的数字样式如下:
_ _ _ _ _ _ _ _
| | |||| |_ |||||| |
||_ | | ||| ||| |||
输入
输入包含多组测试数据。每组输入包含4个整数,表示当前时间。
输出
对于每组输入,输出由电子钟显示出来的时间样式。
样例输入
1 2 5 6
2 3 4 2
样例输出
_ _ _
| || |_
||_ |||
_| ||| |
| | ||
#include<iostream>
using namespace std;
int main(){
int a[4];
while(cin>>a[0]>>a[1]>>a[2]>>a[3]){
for(int i=0;i<4;i++){
switch(a[i]){
case 1 :
case 4 :cout<<" ";break;
default:cout<<" _ ";
}
}
cout<<endl;
for(int i=0;i<4;i++){
switch(a[i]){
case 0 :printf("| |");break;
case 1 :
case 7 :cout<<" |";break;
case 2 :
case 3 :cout<<" _|";break;
case 4 :cout<<"|_|";break;
case 5 :
case 6 :cout<<"|_ ";break;
default:cout<<"|_|";break;
}
}
cout<<endl;
for(int i=0;i<4;i++){
switch(a[i]){
case 1 :
case 4 :
case 7 :cout<<" |";break;
case 2 :cout<<"|_ ";break;
case 3 :
case 5 :
case 9 :cout<<" _|";break;
default:cout<<"|_|";break;
}
}
cout<<endl;
}
return 0;
}
上面这种方法是自己做出来的,一开始把return0;给写在了最后一个for循环里面去了,就一直无法实现循环输入多组数据,只能完成一组数据的打印,有一时半会找不到自己错误,于是找到了别人的第二种办法,就是下面这种,首先定义了一个三重的for循环用来分别打印三行符号。
#include <iostream>
using namespace std;
int main()
{
int a[4];
while(cin>>a[0]>>a[1]>>a[2]>>a[3]){
for(int j=1;j<4;j++){
if(j==1){
for(int i=0;i<4;i++){
if(a[i]==1||a[i]==4)
cout<<" ";
else
cout<<" _ ";
}
}
if(j==2){
for(int i=0;i<4;i++){
if(a[i]==0)
cout<<"| |";
else if(a[i]==4||a[i]==8||a[i]==9)
cout<<"|_|";
else if(a[i]==2||a[i]==3)
cout<<" _|";
else if(a[i]==5||a[i]==6)
cout<<"|_ ";
else if(a[i]==1||a[i]==7)
cout<<" |";
}
}
if(j==3){
for(int i=0;i<4;i++){
if(a[i]==1||a[i]==4||a[i]==7)
cout<<" |";
else if(a[i]==3||a[i]==9||a[i]==5)
cout<<" _|";
else if(a[i]==2)
cout<<"|_ ";
else if(a[i]==6||a[i]==8||a[i]==0)
cout<<"|_|";
}
}
cout<<endl;
}
}
return 0;
}