[ACM]在命令行以LED样式显示输入的数字
昨天,一个同学和我说了一道ACM题目,说很有趣,于是乎我就听了他给我介绍了题目的要求:
每行输入两个数如下所示:
1 1234567890
输出:
![[ACM]在命令行以LED式样显示输入的数字](http://img.reader8.net/uploadfile/jiaocheng/20140140/2744/2014012717441811887.jpg)
2 1234567890
输出
![[ACM]在命令行以LED式样显示输入的数字](http://img.reader8.net/uploadfile/jiaocheng/20140140/2744/2014012717441811888.jpg)
3 1234567890
输出
![[ACM]在命令行以LED式样显示输入的数字](http://img.reader8.net/uploadfile/jiaocheng/20140140/2744/2014012717441811889.jpg)
我想我图贴到这里大家应该知道题目的要求了吧。
分析:上面的数字输出有点想LED数字输出,不知道大家知不知道LED七段显示,在我下面的程序中,我就是用到了这个,每一位存储是否有开启0表示不开启,1表示开启
如下
![[ACM]在命令行以LED式样显示输入的数字](http://img.reader8.net/uploadfile/jiaocheng/20140140/2744/2014012717441811890.png)
上面0-6分别对应于LED的一段,一共有7段,所以我们可以用7bit来分别存储里面,0表示无,1表示有
比如 2的LED显示为
![[ACM]在命令行以LED式样显示输入的数字](http://img.reader8.net/uploadfile/jiaocheng/20140140/2744/2014012717441811891.png)
我们可以用下面的二进制表示(从6-0顺序)为1011101;同理3的二进制表示为1101101;4的二进制表示为0101110,有了上面的分析,在输出的时候。只有i = 0\3\6都是表示横向,其余的表示纵向,他们的输出是不一样的。设置了位就输出相应的标志,没有设置就输出空格。代码如下: