10 数字液晶屏幕
LED屏的液晶显示在工业上有着十分重要的应用,现在W老师给你个任务,给你一个仅包含数字的字符串,输出其液晶显示效果。本题中,我们利用’-‘和’|’表示液晶数字中的笔画,可以看出每个数字对应的液晶显示格式都严格占据5行3列的空间(空格也需要输出),例如数字8:
因此,数字0-9可以表示为:
输入格式:
一行,仅包含数字的字符串(字符串长度不超过200)
输出格式:
该数字对应的液晶显示效果
输入样例:
0123456789
输出样例:
| | | | || || | || || |
- - - - - - -
| | || | | || | || | |
# include<stdio.h>
# include<string.h>
int main()
{
char ch[500];
int m,n,i,j;
gets(ch);
m=strlen(ch);
for(n=0;n<5;n++)
{
if(n==0)
{
for(i=0;i<m;i++)
{
if(ch[i]=='0'||ch[i]=='2'||ch[i]=='3'||ch[i]=='5'||ch[i]=='6'||ch[i]=='7'||ch[i]=='8'||ch[i]=='9')
{
printf(" - ");
}
if(ch[i]=='1'||ch[i]=='4')
{
printf(" ");
}
}
printf("\n");
}
if(n==1)
{
for(i=0;i<m;i++)
{
if(ch[i]=='0'||ch[i]=='4'||ch[i]=='8'|ch[i]=='9')
{
printf("| |");
}
if(ch[i]=='1'||ch[i]=='2'||ch[i]=='3'||ch[i]=='7')
{
printf(" |");
}
if(ch[i]=='5'||ch[i]=='6')
{
printf("| ");
}
}printf("\n");
}
if(n==2)
{
for(i=0;i<m;i++)
{
if(ch[i]=='0'||ch[i]=='1'||ch[i]=='7')
{
printf(" ");
}
else
{
printf(" - ");
}
}printf("\n");
}
if(n==3)
{
for(i=0;i<m;i++)
{
if(ch[i]=='0'||ch[i]=='6'||ch[i]=='8')
{
printf("| |");
}
if(ch[i]=='1'||ch[i]=='3'||ch[i]=='4'||ch[i]=='5'||ch[i]=='7'||ch[i]=='9')
{
printf(" |");
}
if(ch[i]=='2')
{
printf("| ");
}
}printf("\n");
}
if(n==4)
{
for(i=0;i<m;i++)
{
if(ch[i]=='1'||ch[i]=='4'||ch[i]=='7')
{
printf(" ");
}
else
{
printf(" - ");
}
}printf("\n");
}
}
return 0;
}
注意: 光标位置难以调动,用一行一行的输出,比较好控制。
缺点:代码较长。