七段显示器显示整数

编写程序,输入一个整数,使用字符模拟七段显示器来输出该数。
计算器、电子手表和其它电子设备经常依靠七段显示器进行数值的输出。为了组成数字,这类设备需要“打开”7个显示段中的某些部分,同时“关闭”其它部分:

需要设置一个数组来保存显示0到9数字时需要“打开”和“关闭”的显示段。

#include<string.h>              //第L题
#define MAX 10
const char s[10][7] = {    {1,1,1,1,1,1,0},
                           {0,1,1,0,0,0,0},
                           {1,1,0,1,1,0,1},
                           {1,1,1,1,0,0,1},
                           {0,1,1,0,0,1,1},
                           {1,0,1,1,0,1,1},
                           {1,0,1,1,1,1,1},
                           {1,1,1,0,0,0,0},
                           {1,1,1,1,1,1,1},
                           {1,1,1,1,0,1,1}, };
char r[3][MAX * 4];
void clear(void)                //给空格
{
    int i, j;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < MAX * 4; j++)
        {
            r[i][j] = ' ';
        }
    }
}
void process_d(int d, int pos)
{
    int p = pos * 4;
    if (s[d][0])
        r[0][p + 1] = '_';
    if (s[d][5])
        r[1][p] = '|';
    if (s[d][6])
        r[1][p + 1] = '_';
    if (s[d][1])
        r[1][p + 2] = '|';

    if (s[d][4])
        r[2][p] = '|';
    if (s[d][3])
        r[2][p + 1] = '_';
    if (s[d][2])
        r[2][p + 2] = '|';
}
void print(int m, int n)
{
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n * 4; j++)
        {
            putchar(r[i][j]);
        }
        putchar('\n');
    }
}
int main()
{
    char d[MAX];

    while (scanf("%s", d) != EOF)
    {
        int len = strlen(d), i;
        clear();
        for (i = 0; i < len; i++)
        {
            process_d(d[i] - '0', i);
        }
        print(3, len);
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你写一个 Python 程序来模拟七段显示器输出时间。代码如下: ```python # 定义数字 0-9 的七段显示器字典 segments = { 0: ['###', '# #', '# #', '# #', '###'], 1: [' #', ' #', ' #', ' #', ' #'], 2: ['###', ' #', '###', '# ', '###'], 3: ['###', ' #', '###', ' #', '###'], 4: ['# #', '# #', '###', ' #', ' #'], 5: ['###', '# ', '###', ' #', '###'], 6: ['###', '# ', '###', '# #', '###'], 7: ['###', ' #', ' #', ' #', ' #'], 8: ['###', '# #', '###', '# #', '###'], 9: ['###', '# #', '###', ' #', '###'] } # 输入时间 hour, minute, second = map(int, input("请输入时间(时:分:秒):").split(':')) # 分别输出小时、分钟和秒的七段显示器 print() for i in range(5): for j in range(2): if j == 0: print(segments[hour // 10][i], end=' ') else: print(segments[hour % 10][i], end=' ') print() print(' ') for i in range(5): for j in range(2): if j == 0: print(segments[minute // 10][i], end=' ') else: print(segments[minute % 10][i], end=' ') print() print(' ') for i in range(5): for j in range(2): if j == 0: print(segments[second // 10][i], end=' ') else: print(segments[second % 10][i], end=' ') print() ``` 运行程序后,输入时间,例如 `12:34:56`,程序将会输出相应的七段显示器效果: ``` 请输入时间(时:分:秒):12:34:56 ### ### # ### ### # # ### ### ### ### ### ### ### # # # # ## # # # # # # # # # # # # # # # # # # # # ### ### ### ### ### # ### ### ### ### # # # # # # # # # # # # # # # # # # ### ### # ### ### # ### ### # ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### # # # # # # # # # # # # # # # # # # # # # # ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### # # # # # # # # # # # # # # # # # # # # # # ### ### ### ### ### ### ### ### ### ### ### ### ### ### ``` 希望这个程序能够帮到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值