zoukankan      html  css  js  c++  java
  • NBUT 2013

    • here are a LCD (Liquid Crystal Display) on Ezreal's arm. The LCD is composed of liquid crystal, and the LCD is 16 lines and 48 rows. How did it work?

       

      The CPU will send a series of bytes to the LCD. A byte means to eight bits.When the LCD received the byte, it will show a page vertically. And each byte will display from bottom to top.

       

      For example, 0x01 0x9C 0xED will be shown as below:

       

      *.*
      ...
      .**
      .**
      .*.
      ..*
      ..*
      .**

      Now give you 64 bytes, you should print it to the LCD from left to right and top to bottom. 32 columns in aBig Row (containing 8 rows).

    • 输入
    • First line contains an integer T (T < 100), means the test case.
      For each case, there are 2 lines which contain 64 hexadecimal numbers, and it is less than 0xff.
    • 输出
    • For each test case, print the LCD's status.
    • 样例输入
    • 1
      01 9C ED DD 1A 2B CF CD C3 00 19 D0 5A 9F 56 13 E5 40 E5 46 E3 BD 4F A4 39 AF D8 2D 6F D4 54 36
      1C B5 3C 24 9F 85 01 75 10 4B A0 00 77 44 77 7D 3B 82 57 47 DD DA DA 61 E5 FD F7 B7 1D E5 D3 A7
      
    • 样例输出
    • *.**.****.*..*.**.*.***.**.**...
      ....***.*...****...**.*..*..*..*
      .***..**.....**.*.**.***.*.*****
      .*******..*.**.......**.*****...
      .*.**.....******.....*..*.*..***
      ..*..*..........*.*.**.***.**..*
      ..**..***..**.*.*****.*...*.***.
      .***..***..*.*..*.*.**.*.**..*..
      .*..****.*..*.***.***..*********
      ....*....*..*.*.****.**...**..**
      ******.*....****..***...******.*
      *.*.*....*.....**...***..*..*...
      ***.*..**...*.***.*.***..****.*.
      .***...*..*.*.***......*****.*.*
      .......*.*..****..*********..**.
      .*..**....*......*..***.****.***

    #include<stdio.h>
    main()
    {char x[40][40];
    char y[40][40];
    int a,b,n,i,j,m;
    scanf("%d",&n);
    for(m=0;m<n;m++)
    {
    for(i=1;i<=32;i++)
    {scanf("%x",&a);
    for(j=0;j<=7;j++)
    {if(a&(1<<j))x[j][i]='*';
    else x[j][i]='.';
    }}
    for(i=1;i<=32;i++){
    scanf("%x",&a);
    for(j=8;j<=15;j++)
    {
    if(a&(1<<(j-8)))
    x[j][i]='*';
    else x[j][i]='.';
    }
    }for(j=0;j<=7;j++)
    {
    for(i=1;i<=32;i++)
    {
    printf("%c",x[j][i]);
    }printf(" ");}
    for(j=8;j<=15;j++){
    for(i=1;i<=32;i++)
    {
    printf("%c",x[j][i]);
    }printf(" ");}
    }
    }

    注意程序的输入技巧。

    还有16进制%x输入    C

    或者cin>>hex>>n   C++

    他们保存的都是按2进制保存的

    还有1《《1就是左移一位

    0&0=0 0&1=0  1&0=0  1&1=1

  • 相关阅读:
    pointer-like classes, 关于智能指针
    non-explicite-one-argumen-constructor
    车道标线分割与分类
    matlab变量更新
    matlab求余
    MATLAB中图像的读取与显示
    提取文件一部分内容
    NetCore3.1 使用 mongoDb 存储日志,提升查询效率
    C#代码实现阿里云消息服务MNS消息监听
    盘点这些年我出的书,以及由此得到的收获
  • 原文地址:https://www.cnblogs.com/alexanderone/p/3927595.html
Copyright © 2011-2022 走看看