Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 12641 | Accepted: 4970 |
Description
Input
Output
Sample Input
2 12345 3 67890 0 0
Sample Output
题意:以LCD形式显示0-9十个数字,有字体大小的要求。
分析:以最小的字符数组number[5][3]存储0-9数字,对于大小s只需重复几次 ‘-’ 和重复几行‘|’。
源代码如下:
#include <iostream> #include <string> using namespace std; int s,len; char no[10]; char number[10][5][3]={ {' ','-',' ','|',' ','|',' ',' ',' ','|',' ','|',' ','-',' '}, // 0 {' ',' ',' ',' ',' ','|',' ',' ',' ',' ',' ','|',' ',' ',' '}, // 1 {' ','-',' ',' ',' ','|',' ','-',' ','|',' ',' ',' ','-',' '}, // 2 {' ','-',' ',' ',' ','|',' ','-',' ',' ',' ','|',' ','-',' '}, // 3 {' ',' ',' ','|',' ','|',' ','-',' ',' ',' ','|',' ',' ',' '}, // 4 {' ','-',' ','|',' ',' ',' ','-',' ',' ',' ','|',' ','-',' '}, // 5 {' ','-',' ','|',' ',' ',' ','-',' ','|',' ','|',' ','-',' '}, // 6 {' ','-',' ',' ',' ','|',' ',' ',' ',' ',' ','|',' ',' ',' '}, // 7 {' ','-',' ','|',' ','|',' ','-',' ','|',' ','|',' ','-',' '}, // 8 {' ','-',' ','|',' ','|',' ','-',' ',' ',' ','|',' ','-',' '}, // 9 }; void displayHorizontal(int rowNum) { int i,p,num; for(i=0;i<len;i++) // 第一行 { num=no[i]-'0'; cout<<" "; for(p=0;p<s;p++) { cout<<number[num][rowNum][1]; } cout<<" "; } cout<<endl; } void displayVertical(int rowNum) { int i,j,p,num; for(p=0;p<s;p++) //第二行 { for(i=0;i<len;i++) { num=no[i]-'0'; cout<<number[num][rowNum][0]; for(j=0;j<s;j++)cout<<" "; cout<<number[num][rowNum][2]; cout<<" "; } cout<<endl; } } int main() { freopen("in.txt","r",stdin); while(1) { cin>>s>>no; if(s==0)break; len=strlen(no); displayHorizontal(0); displayVertical(1); displayHorizontal(2); displayVertical(3); displayHorizontal(4); cout<<endl; } return 0; }