L1-5 胎壓監測 (15分)
小轎車中有一個系統隨時監測四個車輪的胎壓,如果四輪胎壓不是很平衡,則可能對行車造成嚴重的影響。
讓我們把四個車輪 —— 左前輪、右前輪、右后輪、左后輪 —— 順次編號為 1、2、3、4。本題就請你編寫一個監測程序,隨時監測四輪的胎壓,並給出正確的報警信息。報警規則如下:
如果所有輪胎的壓力值與它們中的最大值誤差在一個給定閾值內,並且都不低於系統設定的最低報警胎壓,則說明情況正常,不報警;
如果存在一個輪胎的壓力值與它們中的最大值誤差超過了閾值,或者低於系統設定的最低報警胎壓,則不僅要報警,而且要給出可能漏氣的輪胎的准確位置;
如果存在兩個或兩個以上輪胎的壓力值與它們中的最大值誤差超過了閾值,或者低於系統設定的最低報警胎壓,則報警要求檢查所有輪胎。
輸入格式:
輸入在一行中給出 6 個 [0, 400] 范圍內的整數,依次為 1~4 號輪胎的胎壓、最低報警胎壓、以及胎壓差的閾值。
輸出格式:
根據輸入的胎壓值給出對應信息:
如果不用報警,輸出 Normal;
如果有一個輪胎需要報警,輸出 Warning: please check #X!,其中 X 是出問題的輪胎的編號;
如果需要檢查所有輪胎,輸出 Warning: please check all the tires!。
輸入樣例 1:
242 251 231 248 230 20
輸出樣例 1:
Normal
輸入樣例 2:
242 251 232 248 230 10
輸出樣例 2:
Warning: please check #3!
輸入樣例 3:
240 251 232 248 240 10
輸出樣例 3:
Warning: please check all the tires!
代碼:
1 #define _CRT_SECURE_NO_WARNINGS 2 #include<iostream> 3 #include<string> 4 #include<cmath> 5 #include<cstdlib> 6 #include<algorithm> 7 #include<vector> 8 using namespace std; 9 int main() { 10 int t[4]; 11 int max = 0; 12 for (int i = 0; i < 4; i++) { 13 cin >> t[i]; 14 if (t[i] > max) max = t[i]; 15 } 16 int min, yz; 17 cin >> min >> yz; 18 int n = 0; 19 int num = 0; 20 for (int i = 0; i < 4; i++) { 21 if (max - t[i] > yz || t[i] < min) { 22 num = i + 1; 23 n++; 24 } 25 } 26 if (n == 0) cout << "Normal"; 27 else if (n == 1) cout << "Warning: please check #" << num << "!"; 28 else if (n >= 2) cout << "Warning: please check all the tires!"; 29 return 0; 30 } 31