nyoj 288 Time【数组模拟】

Time

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 2
描述

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.

Hint:

The digits showed by the digital clock are as follows:
   _  _     _  _  _  _  _  _ 
 | _| _||_||_ |_   ||_||_|| |
 ||_  _|  | _||_|  ||_| _||_|

输入
There are several test cases.
Each case contains 4 integers in a line, separated by space.
Proceed to the end of file.
输出
For each test case, output the time expressed by the digital clock such as Sample Output.
样例输入
1 2 5 6
2 3 4 2
样例输出
    _  _  _ 
  | _||_ |_ 
  ||_  _||_|
 _  _     _ 
 _| _||_| _|
|_  _|  ||_ 


比较简单,但是又比较磨人的一道题,呃呃呃.......

想了几分钟,刚开始想用map来对应,结果发现不太好,然后想到了用字符串来保存,然后输入了90多个各种符号,一直盯着看,快晕死了...然后很简单的就ac 了........

注意每个字符都是九个字符表示,上下左右全是三个字符,如果什么都没有,那么就是空格,个人用的三维字符数组来保存的,这样在使用的时候直接输出四个数的三层字符,然后就相当于输出了三层.......



 
#include<stdio.h>
#include<string.h>
char x[101][3][10]={
{" _ ","| |", "|_|"},{"   ","  |","  |"},{" _ "," _|","|_ "},{" _ "," _|"," _|"},{"   ","|_|","  |"},
{" _ ","|_ "," _|"},{" _ ","|_ ","|_|"},{" _ ","  |","  |"},{" _ ","|_|","|_|"},{" _ ","|_|"," _|"}};
int main()
{
	int a,b,c,d;
	while(~scanf("%d%d%d%d",&a,&b,&c,&d))
	{
		for(int i=0;i<3;++i)//分别输出三层
		{
			printf("%s%s%s%s\n",x[a][i],x[b][i],x[c][i],x[d][i]);
		}
	} 
	return 0;
}         



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值