标签:c++
Description
Input
Output
Sample Input
2 12345 3 67890 0 0
Sample Output
-- -- -- | | | | | | | | | | | | -- -- -- -- | | | | | | | | | | -- -- -- --- --- --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- --- 输入的两个数分别是数字的尺寸 和要显示的数字组合 (注意:每两组数据空一行,每两个数字空一格) 代码:#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { char e[20][3]= {" -","-"}; char q[33]; char w[1][2]= {"|"}; int m; int i,j,k; int t=0; while(scanf("%d%s",&m,q)!=EOF) { if(m==0) continue; if(t!=0) cout<<endl; t++; if(m==0&&q[0]=='0') break; for(i=0; i<=strlen(q)-1; i++) { if(i!=0) cout<<' '; if(q[i]=='1'||q[i]=='4') { for(j=1; j<=m+2; j++) cout<<' '; } else { cout<<' '; for(j=1; j<=m; j++) { cout<<e[1]; } cout<<' '; } } cout<<endl; for(i=1; i<=m; i++) { for(k=0; k<=strlen(q)-1; k++) { if(k!=0) cout<<' '; if(q[k]=='5'||q[k]=='6') { cout<<w[0]; for(j=0; j<=m; j++) cout<<' '; } else if(q[k]=='1'||q[k]=='2'||q[k]=='3'||q[k]=='7') { for(j=0; j<=m; j++) cout<<' '; cout<<w[0]; } else { cout<<w[0]; for(j=0; j<m; j++) cout<<' '; cout<<w[0]; } } cout<<endl; } for(i=0; i<strlen(q); i++) { if(i!=0) cout<<' '; if(q[i]=='1'||q[i]=='7'||q[i]=='0') { for(j=1; j<=m+2; j++) cout<<' '; } else { cout<<' '; for(j=1; j<=m; j++) { cout<<e[1]; } cout<<' '; } } cout<<endl; for(i=1; i<=m; i++) { for(k=0; k<=strlen(q)-1; k++) { if(k!=0) cout<<' '; if(q[k]=='2') { cout<<w[0]; for(j=0; j<=m; j++) cout<<' '; } else if(q[k]=='0'||q[k]=='8'||q[k]=='6') { cout<<w[0]; for(j=0; j<m; j++) cout<<' '; cout<<w[0]; } else { for(j=0; j<=m; j++) cout<<' '; cout<<w[0]; } } cout<<endl; } for(i=0; i<strlen(q); i++) { if(i!=0) cout<<' '; if(q[i]=='1'||q[i]=='7'||q[i]=='4') { for(j=1; j<=m+2; j++) cout<<' '; } else { cout<<' '; for(j=1; j<=m; j++) { cout<<e[1]; } cout<<' '; } } cout<<endl; } return 0; }
把没组数字分为五段 (三横二竖) 其实写出前两段 后三段也差不多了。。。
这次终于把速度提高了一点= =
显示出来的数字还挺 好看的 哈
POJ 1102 LC-Display 模拟,布布扣,bubuko.com
标签:c++
原文地址:http://blog.csdn.net/axuan_k/article/details/38231955