NEUOJ Problem48
Problem Description
Digital clock use 4 digits to express time, each digit is described by 3*3 characters (including”|”,”_”and” “).now given the current time, please tell us how can it be expressed by the digital clock.
Input
There are several test cases.
Each case contains 4 integers in a line, separated by space.
Proceed to the end of file.
Output
For each test case, output the time expressed by the digital clock such as Sample Output.
Sample Input
1 2 5 6
2 3 4 2
Sample Output
_ _ _
| || |_
||_ |||
_ _ _
| ||| |
|_ | ||
我的代码:
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int a[4];
int i,j;
char ch1[3][3]={{' ',' ',' '},{' ',' ','|'},{' ',' ','|'}};
char ch2[3][3]={{' ','_',' '},{' ','_','|'},{'|','_',' '}};
char ch3[3][3]={{' ','_',' '},{' ','_','|'},{' ','_','|'}};
char ch4[3][3]={{' ',' ',' '},{'|','_','|'},{' ',' ','|'}};
char ch5[3][3]={{' ','_',' '},{'|','_',' '},{' ','_','|'}};
char ch6[3][3]={{' ','_',' '},{'|','_',' '},{'|','_','|'}};
char ch7[3][3]={{' ','_',' '},{' ',' ','|'},{' ',' ','|'}};
char ch8[3][3]={{' ','_',' '},{'|','_','|'},{'|','_','|'}};
char ch9[3][3]={{' ','_',' '},{'|','_','|'},{' ','_','|'}};
char ch0[3][3]={{' ','_',' '},{'|',' ','|'},{'|','_','|'}};
while(~scanf("%d %d %d %d",&a[0],&a[1],&a[2],&a[3]))
{
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
switch(a[j])
{
case 0:printf("%c%c%c",ch0[i][0],ch0[i][1],ch0[i][2]);break;
case 1:printf("%c%c%c",ch1[i][0],ch1[i][1],ch1[i][2]);break;
case 2:printf("%c%c%c",ch2[i][0],ch2[i][1],ch2[i][2]);break;
case 3:printf("%c%c%c",ch3[i][0],ch3[i][1],ch3[i][2]);break;
case 4:printf("%c%c%c",ch4[i][0],ch4[i][1],ch4[i][2]);break;
case 5:printf("%c%c%c",ch5[i][0],ch5[i][1],ch5[i][2]);break;
case 6:printf("%c%c%c",ch6[i][0],ch6[i][1],ch6[i][2]);break;
case 7:printf("%c%c%c",ch7[i][0],ch7[i][1],ch7[i][2]);break;
case 8:printf("%c%c%c",ch8[i][0],ch8[i][1],ch8[i][2]);break;
case 9:printf("%c%c%c",ch9[i][0],ch9[i][1],ch9[i][2]);break;
}
}
cout<<endl;
}
}
return 0;
}
网上某大神的代码
#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<=3; 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]==1||a[i]==7)
cout<<" |";
else if(a[i]==0)
cout<<"| |";
else if(a[i]==2||a[i]==3)
cout<<" _|";
else if(a[i]==4||a[i]==8||a[i]==9)
cout<<"|_|";
else
cout<<"|_ ";
}
}
if(j==3)
{
for(int i=0; i<4; i++)
{
if(a[i]==0||a[i]==6||a[i]==8)
cout<<"|_|";
else if(a[i]==1||a[i]==4||a[i]==7)
cout<<" |";
else if(a[i]==2)
cout<<"|_ ";
else
cout<<" _|";
}
}
cout<<endl;
}
}
return 0;
}