LC-Display
来源:互联网 发布:我的世界检测不到java 编辑:程序博客网 时间:2024/04/23 14:00
编程题目:
题目大意:
s, n (1 <= s <= 10, 0 <= n <= 99 999 999),
每次输入s,n,,将n输出成LC样式,"-" 表示横向段, "|"表示纵向段每个数字占 s+2 列 2s+3 行.
两个数字之间有一空列.在每个数后输出一空行.www.2cto.com
解题思路:
将每个数字的7段是否要显示用一个数组保存起来.然后对于每个数,先处理顶部行,
在输出中间s行,等等。对于每行,又由对每个数字的输出和空格组成。
对那3行,先输出一个空格,然后根据数组看是输出s个"-"还是空格,再输出一个空格。
对于那2s行,先根据数组看是输出空格还是竖线,再输出s个空格,等等。
#include <iostream>void printfLed(int numSize, char num[]){ //将数字从上到下分成五个部分 char p1[10] = { '-', ' ', '-', '-', ' ', '-', '-', '-', '-', '-' }; char p21[10] = { '|', ' ', ' ', ' ', '|', '|', '|', ' ', '|', '|' }; char p22[10] = { '|', '|', '|', '|', '|', ' ', ' ', '|', '|', '|' }; char p3[10] = { ' ', ' ', '-', '-', '-', '-', '-', ' ', '-', '-' }; char p41[10] = { '|', ' ', '|', ' ', ' ', ' ', '|', ' ', '|', ' ' }; char p42[10] = { '|', '|', ' ', '|', '|', '|', '|', '|', '|', '|' }; char p5[10] = { '-', ' ', '-', '-', ' ', '-', '-', ' ', '-', '-' }; int numLen = strlen(num); //第一部分显示 for (int i = 0; i < numLen; ++i) { std::cout << " "; for (int j = 0; j < numSize; ++j) { std::cout << p1[num[i] - '0']; } std::cout << " "; } std::cout << "\n"; //第二部分显示 for (int k = 0; k < numSize; ++k) { for (int i = 0; i < numLen; ++i) { std::cout << p21[num[i] - '0']; for (int j = 0; j < numSize; ++j) { std::cout << " "; } std::cout << p22[num[i] - '0']; std::cout << " "; } std::cout << "\n"; } //第三部分显示 for (int i = 0; i < numLen; ++i) { std::cout << " "; for (int j = 0; j < numSize; ++j) { std::cout << p3[num[i] - '0']; } std::cout << " "; } std::cout << "\n"; //第四部分显示 for (int k = 0; k < numSize; ++k) { for (int i = 0; i < numLen; ++i) { std::cout << p41[num[i] - '0']; for (int j = 0; j < numSize; ++j) { std::cout << " "; } std::cout << p42[num[i] - '0']; std::cout << " "; } std::cout << "\n"; } //第五部分显示 for (int i = 0; i < numLen; ++i) { std::cout << " "; for (int j = 0; j < numSize; ++j) { std::cout << p5[num[i] - '0']; } std::cout << " "; }}int main(int argc, char* argv[]){ std::cout << "请输入字体大小和要显示的数字:" << std::endl; char num[11] = { 0 }; int numSIze = 11; std::cin >> numSIze; std::cin >> num; printfLed(numSIze, num); return 0;}
输出结果:
0 0
- LC-Display
- LC-Display
- LC-Display
- LC-Display
- LC-Display
- LC-Display
- LC-Display
- LC-Display
- LC-Display(ZJU_1146)
- POJ 1102 LC DISPLAY
- poj 1102 LC-Display
- LC-Display(UVa706)
- poj1102 LC-Display
- HDU 1332 LC-Display
- uva706 LC-Display
- LC-Display POJ1102
- poj1102 LC-Display
- POJ 1102 LC-Display
- Android 关于新浪微博字数的处理
- 学习Javascript的8张思维导图 (1)
- 多媒体 MP4文件格式详解——元数据moov(二)tkhd box
- MacVim支持ActionScript配色
- logback 配置详解(一)
- LC-Display
- 搭建FTP遇到的问题
- R:获取文件和目录信息
- Run-Time Check Failure #2 - Stack around the variable 'usval' was corrupted
- 多媒体 MP4文件格式详解——元数据moov(三)tref box
- ArcSDE SDK介绍
- MES实施难得不是技术
- R:访问数据库管理系统
- 嵌入式 fork/exec/system 用法简介