计蒜客-第六场初试

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

1
+—–+
2
|- 4G|
3
|– |
4
|— |
5
|—- |
6
|—–|
7
+—–+
每一格信号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

+—–+

代码如下:

#include<stdio.h>
void imput(int i){
    int a;
    char s[4];
    if(0<=i&&i<20)
        a=0;
    else if(20<=i&&i<60)
        a=1;
    else if(60<=i&&i<90)
        a=2;
    else if(80<=i&&i<=100)
        a=3;
    switch(a)//用来输出信号
    {
        case 0: printf("| E|\n");break;
        case 1: printf("|- E|\n");break;
        case 2: printf("|- 3G|\n");break;
        case 3: printf("|- 4G|\n");break;
    }
}
int main(){
    int d;
    char a0[]="| |";
    char a1[]="|-- |";
    char a2[]="|--- |";
    char a3[]="|---- |";
    char a4[]="|-----|";
    scanf("%d",&d);
    printf("+-----+\n");
    imput(d);
    if(d>=0&&d<20)//输出信号的强度
        printf("%s\n%s\n%s\n%s\n",a0,a0,a0,a0);
    else if(d>=20&&d<40)
        printf("%s\n%s\n%s\n%s\n",a0,a0,a0,a0);
    else if(d>=40&&d<60)
        printf("%s\n%s\n%s\n%s\n",a1,a0,a0,a0);
    else if(d>=60&&d<80)
          printf("%s\n%s\n%s\n%s\n",a1,a2,a0,a0);
    else if(d>=80&&d<100)
          printf("%s\n%s\n%s\n%s\n",a1,a2,a3,a0);
    else if(d==100)
          printf("%s\n%s\n%s\n%s\n",a1,a2,a3,a4);
    printf("+-----+");
}
printf("I LOVE BOSS");
点赞