SDUST 作业10 Problem I 液晶显示

Description

你的朋友刚买了一台新电脑,他以前用过的最强大的计算工具是一台袖珍计算器。现在,看着自己的新电脑,他有点失望,因为他更喜欢计算器上的LC显示器。所以,你决定写一个LC显示风格的程序帮他在电脑上显示数字。

Input

输入包括若干行,每一行有两个整数。输入为两个0表示结束,并且此行不被处理。

每行输入的两个整数s和n,满足1<=s<=10且0<=n<=99 999 999,其中n是要被现实的数字,s是n应该显示的大小(放大的倍数)。

Output

输出的数字是LC显示风格的:使用s个“-”表示水平线和s个“|”竖直线,每个数字刚好占据s+2列和2s+3行,所有没有“-”和“|”的空白处请用空格填满。并且每两个数字之间要有一列空格。

每一行输入数字对应上述一组LC显示风格输出。任意两组数字的输出之间用一个空行分割。

Sample Input

 1 #include <stdio.h>
 2 char a[12][10]= {"14041","03030","13121","13131","04130","12131","12141","13030","14141","14131"};
 3 void prints(char c,int n)
 4 {
 5     while(n--)putchar(c);
 6 }
 7 int main()
 8 {
 9     int k=2;
10     char s[20];
11     int first=1;
12     while(scanf("%d%s",&k,s)==2&&(k||s[0]!=‘0‘))
13     {
14         if(!first)printf("\n");else first=0;
15         for(int i=0; i<5; i++)
16         {
17             int t=1;
18             for(int j=0; j<k; j++)
19             {
20                 for(int n=0; s[n]!=0; n++)
21                 {
22                     if(a[s[n]-‘0‘][i]==‘1‘)
23                     {
24                         if(j)  t=0;
25                         else{
26                             putchar(‘ ‘);
27                             prints(‘-‘,k);
28                             putchar(‘ ‘);
29                                 if(s[n+1]!=0)putchar(‘ ‘);
30                         }
31
32                     }
33                     else if(a[s[n]-‘0‘][i]==‘0‘)
34                     {
35                         if(j)  t=0;
36                         else{
37                             prints(‘ ‘,k+2);
38                             if(s[n+1]!=0)putchar(‘ ‘);
39                         }
40                     }
41                     else
42                     {
43                         if(a[s[n]-‘0‘][i]==‘2‘)
44                         {
45                             putchar(‘|‘);
46                             prints(‘ ‘,k+1);
47                         }
48                         else if(a[s[n]-‘0‘][i]==‘3‘)
49                         {
50                             prints(‘ ‘,k+1);
51                             putchar(‘|‘);
52                         }
53                         else if(a[s[n]-‘0‘][i]==‘4‘)
54                         {
55                             putchar(‘|‘);
56                             prints(‘ ‘,k);
57                             putchar(‘|‘);
58                         }
59                         if(s[n+1]!=0)putchar(‘ ‘);
60                     }
61                 }
62                 if(t)putchar(‘\n‘);
63             }
64         }
65     }
66     return 0;
67 }
时间: 2024-10-29 17:07:15

SDUST 作业10 Problem I 液晶显示的相关文章

SDUST作业10 Problem J: 提取缩略词

Description 在英文文献中,尤其是专业文献中,经常有很多的缩略词,如CPU代表Central Processing Unit等.为了方便学习,Qili决定从一批英文论文中提取出所有的缩略词以及它们的全称. 经过初步判断,这些文章的缩略词都是以全部大写字母的形式出现,而且每个缩略词之后会有一个空格,之后是它的全称.全称使用“()”括起来,左括号跟它后面的单词之间没有空格,右括号跟它前面的单词之间没有空格,全称的每个单词的首字母与缩略词的顺序是对应的.全称的单词之间可能有连字符“-”连接.

SDUST 作业10 Problem D 魔方阵

Description 所谓N阶魔方阵,是一个N*N的方阵,其元素由1到N^2组成,且方阵每行每列以及对角线的元素和相等.如三阶魔方阵: 8 1 6 3 5 7 4 9 2 魔方阵的规律如下: 从1-N*N的 各个数依次如下规则存放: (1) 1在第一行中间一列: (2) 每一个数存放的行比前一个数的行数减一,列数加一(如上的三阶方阵5在4的上一行,后一列): (3) 如果上一个数在第一行,则下一个数在最后一行,列数加一: (4) 如果上一个数在最后一列,则下一个数在第一列,行数减一: (5)

团队作业10——复审和事后分析(Beta版本)

团队作业10--事后分析(Beta版本) http://www.cnblogs.com/newteam6/p/6953992.html 团队作业10--复审(Beta版本) http://www.cnblogs.com/newteam6/p/6985781.html

团队作业10——事后分析(Beta版本)

一.设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们软件是帮助教师和助教收集查看实验报告并解决实验报告的抄袭问题,基本用户有两个:1.教师或助教:2.学生. 2. 我们达到目标了么(原计划的功能做到了几个?  按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)? 我们基本达到了大部分目标了,但是还是有一些问题还没解决 3. 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么? 因为存在一些问题并没有

Linux作业10

系统的INPUT和OUTPUT默认策略为DROP,请完成以下关于iptables的题目: 1.限制本地主机的web服务器在周一不允许访问:新请求的速率不能超过100个每秒:web服务器包含了admin字符串的页面不允许访问:web服务器仅允许响应报文离开本机: [[email protected] ~]# iptables -F    #清空filter表上的所有规则链 [[email protected] ~]# iptables -X    #删除用户自定链 [[email protecte

丛铭俣 160809324 (作业10)

#include<stdio.h> void sum(int *p) { int a[10]; int i,sum1=0; printf("请输入10个整数\n"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } p=&a[0]; for(p=a;p<(a+10);p++) { sum1=sum1+*p; } printf("%d",sum1); } int main()

团队作业10——Beta阶段项目复审

小组名字和链接 优点 缺点Bug报告 最终名次 爸爸说的都队 http://www.cnblogs.com/hhh2333/ 基本的功能都实现了 修复不能更新题目的缺陷,修复界面切换错误的缺陷,修复数据库连接错误的缺陷 2 天霸动霸.tua http://www.cnblogs.com/wlgc211/ 功能基本都实现了,界面比较好看 老师的功能和维修人员的功能应该分开,不能一个登陆就什么都可以修改 1 SNS1412 http://www.cnblogs.com/jmu-sns/ 功能基本实现

作业10

课后作业 10 ---多种引用方法的练习

class Program { static void Method()//无参数 无返回值方法 { Console.WriteLine("欢迎使用!"); } static void Method(int i)//有参数 无返回值方法 { Console.WriteLine("欢迎使用版本" + i); } static string Method1(int i )//有参数 有返回值方法 { Console.WriteLine("欢迎使用版本"