1. 程式人生 > >手機信號

手機信號

網絡傳輸 return ret 模式 題目 同時 == ssi blog

手機信號

Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 12 Accepted Submission(s) : 9

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

現在在市面上流傳了一款功能極簡的手機,在手機上用一個 7×7 的顯示屏來顯示手機信號,每個區塊能顯示一個字符。滿信號的時候顯示如下:

+-----+
|- 4G|
|-----|
|-----|
|---- |
|-----|
+-----+
(杭電描述區塊對字寬的設定不統一,正確顯示請看輸出樣例)
每一格信號(第i(1≤i≤5) 格信號有 i個-)代表 20% 的信號強度,不足一格信號的部分不顯示。同時會在右上角顯示當前的網絡傳輸模式。在信號強度不低於 90% 的時候顯示4G;當信號低於 90%、不低於 60% 的時候顯示3G;否則顯示E。
對於給定的當前信號強度 d%,輸出信號的 7×7 像素的圖案。

Input

輸入一個整數 d(0≤d≤100),表示信號強度。

Output

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

Sample Input

0
65

Sample Output

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

這題簡單,仔細分類就成了;
 1 #include <iostream>  //1005
 2 using namespace std;
 3 int main(){
 4     int
a; 5 while(cin>>a){ 6 int b=a/10; 7 cout<<"+-----+"<<endl; 8 if(b>=9){ 9 cout<<"|- 4G|"<<endl; 10 }else if(b>=6){ 11 cout<<"|- 3G|"<<endl; 12 }else if(b>=2){ 13 cout<<"
|- E|"<<endl; 14 }else{ 15 cout<<"| E|"<<endl; 16 } 17 if(b>=4) 18 cout<<"|-- |"<<endl; 19 else 20 cout<<"| |"<<endl; 21 if(b>=6) 22 cout<<"|--- |"<<endl; 23 else 24 cout<<"| |"<<endl; 25 if(b>=8) 26 cout<<"|---- |"<<endl; 27 else 28 cout<<"| |"<<endl; 29 if(b==10) 30 cout<<"|-----|"<<endl; 31 else 32 cout<<"| |"<<endl; 33 cout<<"+-----+"<<endl; 34 } 35 36 return 0; 37 }



手機信號