初赛第六场A

微软近日推出了一款功能极简的手机,在手机上用一个包含了 7×7 个像素的区域来显示手机信号。满信号的时候显示如下:

 
+-----+
|-  4G|
|--   |
|---  |
|---- |
|-----|
+-----+

每一格信号(第 i(1≤i≤5)格信号有 i-)代表 20% 的信号强度,不足一格信号的部分不显示。同时会在右上角显示当前的网络传输模式。在信号强度不低于 90% 的时候显示4G;当信号低于 90%、不低于 60 的时候显示3G;否则显示E

对于给定的当前信号强度 d,输出信号的 7×7 像素的图案。

输入格式

输入一个整数 d(0≤d≤100),表示信号强度。

输出格式

按照题目要求输出,每行末尾不要输出多余的空白字符。

样例输入1

0

样例输出1

+-----+
|    E|
|     |
|     |
|     |
|     |
+-----+

样例输入2

65

样例输出2

+-----+
|-  3G|
|--   |
|---  |
|     |
|     |
+-----+

思路:模拟
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main(){
 5     int n;
 6     char a[10][10];
 7     for(int i=1;i<=7;i++)
 8         for(int j=1;j<=7;j++) a[i][j]=' ';
 9     a[1][1]='+';
10     a[1][7]='+';
11     for(int i=2;i<=6;i++){
12         a[1][i]='-';
13         a[7][i]='-';
14     }
15       a[7][1]='+';
16     a[7][7]='+';
17     for(int i=2;i<=6;i++){
18         a[i][1]='|';
19         a[i][7]='|';
20     }
21     scanf("%d",&n);
22     int x=n/20;
23     for(int i=2;i<=x+1;i++){
24         for(int j=2;j<=i;j++)
25             a[i][j]='-';
26     }
27     if(n<=60){
28         a[2][6]='E';
29     }
30     else if(n<90){
31         a[2][5]='3';a[2][6]='G';
32     }
33     else {
34         a[2][5]='4';a[2][6]='G';
35     }
36      for(int i=1;i<=7;i++){
37          for(int j=1;j<=7;j++)
38             cout<<a[i][j];
39             cout<<endl;
40          }
41 return 0;
42 }

 

 
 
 

posted on 2017-06-06 21:48  hhhhx  阅读(188)  评论(0编辑  收藏  举报

导航