//作者 : 陈奕霖
蒜头君有一块数码管显示屏,只能显示数字。每个数字的显示如下。每 7 个数码管用来显示一个数字。
每个数字对应的输出如下。
当然为了看起来更形象,可以把数字放大输出,比如放大两倍每个数字对应如下
输入格式
输入两个整数 k(1≤k≤10,0≤n≤99999999),分别表达放大的倍数和需要输出的数字。
输出格式
输出数码管显示的数字,数字每一位之间用一列空格隔开。
样例输入1
2 12345
样例输出1
-- -- -- | | | | | | | | | | | | -- -- -- -- | | | | | | | | | | -- -- --
样例输入2
3 67890
样例输出2
--- --- --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- ---
这道题 主要就是 用 for 循环 打印图形
#include <iostream>
using namespace std;
int main(){
int k;
char num[999999];
cin>>k;
int pb=0;
char tmp;
while(cin>>tmp){
num[pb]=tmp;
pb++;
}
for(int i=0;i<2*k+3;i++){
if(i==0||i==k+1||i==2*k+2){
cout<<" ";
}
for(int j=0;j<pb;j++){
if(i==0){
if(num[j]=='1'||num[j]=='4'){
for(int o=0;o<k;o++){
cout<<" ";
}
}else{
for(int o=0;o<k;o++){
cout<<"-";
}
}
if(j==pb-1){
cout<<" ";
}else{
cout<<" ";
}
}
//2222222222222222
if(i>0&&i<=k){
if(num[j]=='1'||num[j]=='2'||num[j]=='3'||num[j]=='7'){
for(int o=0;o<=k;o++){
cout<<" ";
}
cout<<"|";
}else if(num[j]=='6'||num[j]=='5'){
cout<<"|";
for(int o=0;o<=k;o++){
cout<<" ";
}
}else if(num[j]=='4'||num[j]=='0'||num[j]=='8'||num[j]=='9'){
cout<<"|";
for(int o=0;o<k;o++){
cout<<" ";
}
cout<<"|";
}
if(j==pb-1){
}else{
cout<<" ";
}
}
//3333333333333333
if(i==k+1){
if(num[j]=='1'||num[j]=='7'||num[j]=='0'){
for(int o=0;o<k;o++){
cout<<" ";
}
}else{
for(int o=0;o<k;o++){
cout<<"-";
}
}
if(j==pb-1){
cout<<" ";
}else{
cout<<" ";
}
}
//44444444444444444
if(i>k+1&&i<=2*k+1){
if(num[j]=='1'||num[j]=='4'||num[j]=='3'||num[j]=='5'||num[j]=='7'||num[j]=='9'){
for(int o=0;o<=k;o++){
cout<<" ";
}
cout<<"|";
}else if(num[j]=='2'){
cout<<"|";
for(int o=0;o<=k;o++){
cout<<" ";
}
}else if(num[j]=='6'||num[j]=='0'||num[j]=='8'){
cout<<"|";
for(int o=0;o<k;o++){
cout<<" ";
}
cout<<"|";
}
if(j==pb-1){
}else{
cout<<" ";
}
}
//555555555555555
if(i==2*k+2){
if(num[j]=='1'||num[j]=='4'||num[j]=='7'){
for(int o=0;o<k;o++){
cout<<" ";
}
}else{
for(int o=0;o<k;o++){ cout<<"-"; } } if(j==pb-1){ cout<<" "; }else{ cout<<" "; } } } cout<<endl; } return 0; }