LC-显示器2297

news/2024/9/23 6:37:52/

题目描述

你的一个朋友刚买了一台新电脑。 到目前为止,他曾经使用过的最强大的计算机是袖珍计算器。 现在,看着他的新电脑,他有点失望,因为他非常喜欢他的计算器的LC显示器。 所以你决定编写一个程序,在他的计算机上以类似LC显示的方式显示数字。

输入

输入包含多行,每行显示一个。 每行包含两个整数s,n(1 <= s <= 10,0 <= n <= 99 999 999),其中n是要显示的数字,s是应显示的大小。 输入文件将由包含两个零的行终止。 不应处理此行。

输出

以LC显示样式输出输入文件中给出的数字,使用s“ - ”表示水平线段和s“|” 表示垂直线段。 每个数字正好占据s + 2列和2s + 3行。 (确保用空格填充数字占据的所有空白区域,也包括最后一个数字。)两个数之间必须有一列空白。 在每个数字后输出一个空行。 (您将在示例输出中找到每个数字的样本。)

样例输入 Copy

2 12345
3 67890
0 0

样例输出 Copy

      --   --        -- |    |    | |  | | |    |    | |  | | --   --   --   -- | |       |    |    || |       |    |    |--   --        -- ---   ---   ---   ---   --- 
|         | |   | |   | |   |
|         | |   | |   | |   |
|         | |   | |   | |   |---         ---   --- 
|   |     | |   |     | |   |
|   |     | |   |     | |   |
|   |     | |   |     | |   |---         ---   ---   ---

代码

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{int a[10];int n,i,s,j,t,k;while(scanf("%d%d",&s,&n)!=EOF){if(s==0 && n==0) break;t=0;if(n==0){t=1;a[t]=0;}else{while(n!=0){t++;a[t]=n%10;n=n/10;}}for(j=t;j>=1;j--){if(a[j]==1 || a[j]==4){for(i=1;i<=s+2;i++){printf(" ");}}else{printf(" ");for(i=2;i<=s+1;i++){printf("-");}printf(" ");}printf(" ");}printf("\n");k=s;while(k--){for(j=t;j>=1;j--){if(a[j]==5 || a[j]==6){printf("|");for(i=2;i<=s+2;i++){printf(" ");}}else if(a[j]==1 || a[j]==2 || a[j]==3 || a[j]==7){for(i=2;i<=s+2;i++){printf(" ");}printf("|");}else{printf("|");for(i=2;i<=s+1;i++){printf(" ");}printf("|");}printf(" ");}printf("\n");}for(j=t;j>=1;j--){if(a[j]==1 || a[j]==7 || a[j]==0){for(i=1;i<=s+2;i++){printf(" ");}}else{printf(" ");for(i=2;i<=s+1;i++){printf("-");}printf(" ");}printf(" ");}printf("\n");k=s;while(k--){for(j=t;j>=1;j--){if(a[j]==2){printf("|");for(i=2;i<=s+2;i++){printf(" ");}}else if(a[j]==1 || a[j]==4 || a[j]==3 || a[j]==7 || a[j]==5 || a[j]==9){for(i=2;i<=s+2;i++){printf(" ");}printf("|");}else{printf("|");for(i=2;i<=s+1;i++){printf(" ");}printf("|");}printf(" ");}printf("\n");}for(j=t;j>=1;j--){if(a[j]==1 || a[j]==4 || a[j]==7){for(i=1;i<=s+2;i++){printf(" ");}}else{printf(" ");for(i=2;i<=s+1;i++){printf("-");}printf(" ");}printf(" ");}printf("\n");printf("\n");}return 0;
}


http://www.ppmy.cn/news/334438.html

相关文章

睡眠脑电中的神经跨频率耦合函数

导读 人类大脑是一个紧密连接的复杂系统。虽然其结构比较固定&#xff0c;但它可以实现很多不同的功能。其中一个重要的功能是自然睡眠过程&#xff0c;这个过程可以改变意识和随意肌肉活动。在神经层面上&#xff0c;这些改变会伴随着大脑连接的变化。为了揭示这种与睡眠相关…

AOC1952 显示屏 输入不支持

选择对应的模式即可修正错误提示

固态硬盘Ghost安装Windows 10无法引导的问题

机器配置如下: 电脑型号 技嘉 B360M POWER 台式电脑操作系统 Windows 10 64位 ( DirectX 12 )处理器 英特尔 Core i7-8700 @ 3.20GHz 六核主板 技嘉 B360M POWER ( 英特尔 PCI 标准主机 CPU 桥 - CannonLake - A308 )显卡 …

计算机网络开荒3-传输层

文章目录 一、传输层概述1.1 网络层 vs 传输层 二、多路复用 多路分用三、UDP3.1 RDT3.1.1 Rdt3.1.1.1 Rdt1.03.1.1.2 Rdt2.03.1.1.3 Rdt2.13.1.1.4 Rdt2.23.11.5 Rdt 3.0 四、滑动窗口协议4.1 流水线机制4.1.2 滑动窗口协议GBNSR 五、TCP5.1 可靠数据传输5.1.1 RTT和超时 5.2 …

物联网卡有哪些规格?

按形态分为插拔式&#xff08;M2M-PlugIN&#xff0c;即MP卡&#xff09;&#xff0c;贴片式&#xff08;M2M-SMD&#xff0c;即MS卡&#xff09;&#xff1b; 按尺寸大小&#xff0c;MP卡分为普通大卡、双切卡、三切卡卡&#xff1b;MS卡有5mm6mm、5mm5mm&#xff08;不常见&a…

3分钟,把你的安卓手机/平板变成你的电脑副屏

首先下载资源包&#xff0c;直接下载&#xff0c;不需要积分&#xff0c;资源挂了记得评论或私信 https://download.csdn.net/download/VoiceKing2017/53979539 下载后先关闭电脑的VPN类软件&#xff08;如果你不知道什么是VPN&#xff0c;就跳过这一步。&#xff09; 然后双…

html5如何实现语音点歌,怎么给手机点歌 怎么样用自己手机给对方手机点歌

然后根据提示先找到点歌台上的手机点歌。 怎样用手机对点歌机点歌呢嗯对的&#xff0c;您可以参考小希HS12 说的艾唱K66点歌机手机点歌的方式来操作。 关键点就是&#xff1a; 1&#xff1a;手机端下载点歌软件&#xff1b; 2&#xff1a;手机端连接点歌机发射出来的wifi信号&a…

GMDI办公助手Android,这些APP一个能当十个用!又给手机省下几G的空间,太爽了

原标题&#xff1a;这些APP一个能当十个用&#xff01;又给手机省下几G的空间&#xff0c;太爽了 现在很多人会在手机上装很多个APP&#xff0c;所以手机内存经常告急&#xff01;经常在手机上办公的小伙伴&#xff0c;免不了在手机上装一些办公需要用的APP。其实办公APP不用装…