显示屏幕输出

蒜头君有一块数码管显示屏,只能显示数字。
每个数字的显示如下。
每 7 个数码管用来显示一个数字。
在这里插入图片描述
每个数字对应的输出如下。
在这里插入图片描述
当然为了看起来更形象,可以把数字放大输出,比如放大两倍每个数字对应如下
在这里插入图片描述
输入格式
输入两个整数 k(1≤k≤10,0≤n≤99999999)k(1≤k≤10,0≤n≤99999999) ,分别表达放大的倍数和需要输出的数字。
输出格式
输出数码管显示的数字,数字每一位之间用一列空格隔开。
样例输入
2 12345
样例输出
在这里插入图片描述
3 67890
样例输出
在这里插入图片描述
代码:

#include<iostream>
#include<algorithm>
using namespace std;
void showRow(int k,string n,int len,int flag){
 for(int i=0;i<len;i++){
  cout<<" ";
  char c;
  // 最上面一行 
  if(flag == 0 && (n[i]=='2' || n[i]=='3' || n[i]=='5' || n[i]=='6' || n[i]=='7' || n[i]=='8' || n[i]=='9' || n[i]=='0'))
   c = '-';
  // 中间一行 
  else if(flag == 2 && (n[i]=='2' || n[i]=='3' || n[i]=='4' || n[i]=='5' || n[i]=='6'  || n[i]=='8' || n[i]=='9')) 
   c = '-';
  // 最下面一行 
  else if(flag == 4 && (n[i]=='2' || n[i]=='3' || n[i]=='5' || n[i]=='6'  || n[i]=='8' || n[i]=='9' || n[i]=='0'))
   c = '-';
  else
   c = ' ';
  for(int j=0;j<k;j++)
   cout<<c;
  cout<<" ";
  if(i!=len-1)
   cout<<" ";
 }
 cout<<endl;
}
//  竖
void showLine(int k,string n,int len,int flag){
 for(int line = 0;line<k;line++){
  for(int i=0;i<len;i++){
   // 上面的竖前面的 |
   if(flag == 1 && (n[i]=='4' || n[i]=='5' || n[i]=='6' || n[i]=='8' || n[i]=='9' || n[i]=='0'))
    cout<<"|";
   // 下面的竖前面的 |
   else if(flag == 3 && (n[i]=='2' || n[i]=='6' || n[i]=='8' || n[i]=='0'))
    cout<<"|";
   else
    cout<<" ";
   for(int j=0;j<k;j++)
    cout<<" ";
   // 上面的竖后面的 | 
   if(flag == 1 && (n[i]=='1' || n[i]=='2' || n[i]=='3' || n[i]=='4' || n[i]=='7' || n[i]=='8' || n[i]=='9' || n[i]=='0'))
    cout<<"|";
   // 下面的竖后面的 | 
   else if(flag == 3 && (n[i]=='1' ||n[i]=='3' || n[i]=='4' || n[i]=='5' || n[i]=='6' || n[i]=='7' || n[i]=='8' || n[i]=='9' || n[i]=='0'))
    cout<<"|";
   else 
    cout<<" ";
   if(i!=len-1)
    cout<<" ";
  }
  cout<<endl;
 }
}
int main(){
    int k;
    string n;
 cin>>k>>n;
 int len = n.length();
 for(int i=0;i<5;i++){ // 五行的结构 
  if(i%2==0)
   showRow(k,n,len,i);
  else
   showLine(k,n,len,i); 
 }
 return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43612495/article/details/86511739
今日推荐