grids 2745 显示器

[*][size=large]题意[/size]

中文不解释

[*][size=large]思路[/size]

是一道模拟题
可以使用七段数码管的原理,将每个数字在每一段是否要显示标识出来,形成一个10×7的数组。
题目较简单,就是有很多小细节
(1)输出的数字没有说不能以零开头
(2)输出的数字可以是0
(3)是数字与数字间才用空类隔开,也就是说最后一个数字后面不能有空列
(3)是每个数后面有一个空行,因此最后一个数有空行
(4)注意数字的表示,如‘9’最下面还有一横的要注意。数字表示如下:
- - - - - - - -
| | | | | | | | | | | | | |
- - - - - - -
| | | | | | | | | | | | |
- - - - - - -

[*][size=large]总结[/size]



[*][size=large]代码[/size]

I 使用int数组
(1)C


#include "stdio.h"
//#include "stdlib.h"
#include "string.h"
char a[10][7] =
{
'-','|','|',' ','|','|','-',//0
' ',' ','|',' ',' ','|',' ',//1
'-',' ','|','-','|',' ','-',//2
'-',' ','|','-',' ','|','-',//3
' ','|','|','-',' ','|',' ',//4
'-','|',' ','-',' ','|','-',//5
'-','|',' ','-','|','|','-',//6
'-',' ','|',' ',' ','|',' ',//7
'-','|','|','-','|','|','-',//8
'-','|','|','-',' ','|','-' //9
};
int main()
{
char n[9];
int i,j,k,s,len;
//int flag = 0;
scanf("%d %s",&s,n);
while(!(s==0 && strlen(n)==1 && n[0]=='0') )
{

//if(flag==1){putchar('\n');}//空白行

len = strlen(n);
//printf("len=%d\n",len);
for(i=0;i<len;i++)
{
putchar(' ');
for(j=0;j<s;j++) putchar(a[n[i]-'0'][0]);
putchar(' ');
if(i<len-1){putchar(' ');}//空白列
}
putchar('\n');

for(j=0;j<s;j++)
{
for(i=0;i<len;i++)
{
putchar(a[n[i]-'0'][1]);
for(k=0;k<s;k++) putchar(' ');
putchar(a[n[i]-'0'][2]);
if(i<len-1){putchar(' ');}//空白列
}
putchar('\n');
}

for(i=0;i<len;i++)
{
putchar(' ');
for(j=0;j<s;j++) putchar(a[n[i]-'0'][3]);
putchar(' ');
if(i<len-1){putchar(' ');}//空白列
}
putchar('\n');

for(j=0;j<s;j++)
{
for(i=0;i<len;i++)
{
putchar(a[n[i]-'0'][4]);
for(k=0;k<s;k++) putchar(' ');
putchar(a[n[i]-'0'][5]);
if(i<len-1){putchar(' ');}//空白列
}
putchar('\n');
}

for(i=0;i<len;i++)
{
putchar(' ');
for(j=0;j<s;j++) putchar(a[n[i]-'0'][6]);
putchar(' ');
if(i<len-1){putchar(' ');}//空白列
}
putchar('\n');

putchar('\n');//空白行

scanf("%d %s",&s,n);
//flag = 1;
}
//system("pause");
return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值