zoukankan      html  css  js  c++  java
  • 洛谷——1538 迎春舞会之数字舞蹈

    题目背景

    HNSDFZ的同学们为了庆祝春节,准备排练一场舞会。
    

    题目描述

     在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列。
     为了配合每年的倒计时,同学们决定排出——“数字舞蹈”。顾名思义就是所有人一起排成若干个数字 -___-|||| 更为创新的是,每个人都是趴在地上,保证横竖。
     现在给出数字及其要求摆出的大小,请你编程,模拟同学们的优美姿态。
    

    输入格式:

    第一行为k。k表示要摆出数字的大小。
    第二行为全部由数字组成的字符串,即要摆出的几个数字。
    

    输出格式:

    按题目要求输出。
    

    题解:

       --   --        --   --   --   --   --   -- 
    |    |    | |  | |    |       | |  | |  | |  |
    |    |    | |  | |    |       | |  | |  | |  |
       --   --   --   --   --        --   --      
    | |       |    |    | |  |    | |  |    | |  |
    | |       |    |    | |  |    | |  |    | |  |
       --   --        --   --        --   --   -- 
    
    仔细观察,这十个数字由五个部分组成:
    1:‘0-0’
    2:‘|  ’
    3:‘  |’
    4:‘| |’
    5:‘   ’
    然后第一、三、五行由1和5组成,第二、四行有2、3、4组成。然后就自己啪啪啪把。
    

    代码:

    var
      k,l,i,j:longint;
      ss:ansistring;
      s:string;
    function try1:string;
    begin
      try1:=' ';
      for j:=1 to k do
        try1:=try1+'-';
      try1:=try1+'  ';
    end;
    
    function try2:string;
    begin
      try2:='|';
      for j:=1 to k+2 do
        try2:=try2+' ';
    end;
    
    function try3:string;
    begin
      try3:='';
      for j:=1 to k+1 do
        try3:=try3+' ';
      try3:=try3+'| ';
    end;
    
    function try4:string;
    begin
      try4:='|';
      for j:=1 to k do
        try4:=try4+' ';
      try4:=try4+'| ';
    end;
    
    function try5:string;
    begin
      try5:='';
      for j:=1 to k+3 do
        try5:=try5+' ';
    end;
    
    begin
      readln(k);
      readln(s);
      l:=length(s);
      for i:=1 to l do
        case s[i] of
          '0','2','3','5','6','7','8','9':write(try1);
          '1','4':write(try5);
        end;
    
      writeln; ss:='';
      for i:=1 to l do
        case s[i] of
          '5','6':ss:=ss+try2;
          '1','2','3','7':ss:=ss+try3;
          '0','4','8','9':ss:=ss+try4;
        end;
      for i:=1 to k do
        writeln(ss);
    
      for i:=1 to l do
        case s[i] of
          '2','3','4','5','6','8','9':write(try1);
          '0','1','7':write(try5);
        end;
    
      writeln; ss:='';
      for i:=1 to l do
        case s[i] of
          '2':ss:=ss+try2;
          '1','3','4','5','7','9':ss:=ss+try3;
          '0','6','8':ss:=ss+try4;
        end;
      for i:=1 to k do
        writeln(ss);
    
      for i:=1 to l do
        case s[i] of
          '0','2','3','5','6','8','9':write(try1);
          '1','4','7':write(try5);
        end;
    end.
    
  • 相关阅读:
    EXTJS 4.2 资料 控件之checkboxgroup的用法(静态数据)
    EXTJS 4.2 资料 控件之Window窗体相关属性的用法
    EXTJS 4.2 资料 控件之textfield文本框加事件的用法
    Entity Framework 学习笔记(一)之数据模型 数据库
    EXTJS 4.2 资料 控件之checkboxgroup的用法(动态数据)
    EXTJS 4.2 资料 控件之Grid 列鼠标悬停提示
    Entity Framework 学习笔记(二)之数据模型 Model 使用过程
    EXTJS 4.2 资料 控件之radiogroup 的用法
    EXTJS API
    vue移动端弹框组件,vue-layer-mobile
  • 原文地址:https://www.cnblogs.com/zyx-crying/p/9319514.html
Copyright © 2011-2022 走看看