我这里将两种情况(气压差高于阈值与气压值低于最低要求)分开讨论了
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int ty[5]={
0},mi,yu,tst1[5]={
0},num1=0,num2=0,cha[5]={
0},tst2[5]={
0};
for(int i=1;i<5;i++) cin>>ty[i];
cin>>mi>>yu;
for(int i=1;i<5;i++){
if(ty[i]<mi){
num1++;tst1[i]++;
}
}
int ma=ty[1];
for(int i=2;i<5;i++){
if(ty[i]>ma) ma=ty[i];
}
for(int i=1;i<5;i++) cha[i]=ma-ty[i];
for(int i=1;i<5;i++){
if(cha[i]>yu){
num2++;tst2[i]++;
}
}
int flag1=0,flag2=0;
if(num1==1){
for(int i=1;i<5;i++){
if(tst1[i]==1){
flag1=i;break;
}
}
}
if(num2==1){
for(int i=1;i<5;i++){
if(tst2[i]==1){
flag2=i;break;
}
}
}
if(num1==0 && num2==0) cout<<"Normal"<<endl;
else if(num1==1 && num2==0) cout<<"Warning: please check #"<<flag1<<'!'<<endl;
else if(num2==1 && num1==0) cout<<"Warning: please check #"<<flag2<<'!'<<endl;
else if(num2==1 && num1==1 && flag1==flag2) cout<<"Warning: please check #"<<flag2<<'!'<<endl;
else cout<<"Warning: please check all the tires!"<<endl;
return 0;
}