【程序设计天梯赛】L1-5 胎压监测

简介: 小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。

小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。10.png


让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 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!


思路:


先设定一个数组分别存放四个轮胎数据,并且数组下标对应轮胎标;


在循环输入轮胎值时时找出最大值,并记录;


然后根据条件进行判断问题轮胎 。


注:


在这里判断轮胎的方法为,循环从第一个轮胎开始判断是否有问题,而分别要判断是否低于最低压和 最大值误差超过了阈值;


设定两个数字,第一个存放当前问题轮胎下标(因为当两个问题轮胎时即可不输出下标)


第二个数字存放问题轮胎个数(当出现问题轮胎时,此数字++即可)


在判断时,某轮胎有一条件不满足即跳出此轮胎循环即可(因为判断的为统一轮胎,当此轮胎已经被记录为问题轮胎后,就不必再去判断第二条件是否满足了)


最后,按照条件输出相应的数值即可。


代码:

#include <iostream>
using namespace std ;
int a[5] ;
void test01()
{
  int M_max, M_p, M_size ;
  M_max = 0 ;
  int num = 0 ;
  int P_num = 0 ;
  int C_sum = 0 ;
  for(int i=1; i<5; i++)
  {
    cin >> a[i] ;
    if(M_max < a[i])
    {
      M_max = a[i] ;  //  求出四个胎中最大值 
    }   
  }
  cin >> M_p ;    //最低胎压 
  cin >> M_size ;   //胎压差的阈值 
  for(int i=1; i<5; i++)  //判断 
  {     
    if(a[i] < M_p)  //判断是否低于最低胎压 
    {
      P_num++ ; //报警胎数+1 
      num = i ; //记录几胎 
      continue ;
    }
    C_sum =  M_max - a[i] ;
    if(C_sum > M_size)
    {
      P_num++ ;
      num = i ;
    }   
  }
  if(P_num == 0)
  {
    cout << "Normal" << endl ;
    return ;
  }
  if(P_num == 1 )
  {
    printf("Warning: please check #%d!\n",num) ;
    return ;
  }
  if(P_num > 1)
  {
    cout << "Warning: please check all the tires!" << endl ;
    return ;
  }
}
int main(void)
{
  test01() ; 
  system("pause") ;
  return 0 ;
}

运行结果·:11.png

相关文章
|
消息中间件 Kubernetes NoSQL
Debian11系统boost库安装
Debian11系统boost库安装
|
小程序
微信小程序项目实例——幸运大转盘
微信小程序项目实例——幸运大转盘
|
运维 安全 数据挖掘
趋势还是噪声?ADF与KPSS检验结果矛盾时的高级时间序列处理方法
在时间序列分析中,ADF(增广迪基-富勒)和KPSS检验用于评估数据的平稳性。当ADF检验失败而KPSS检验通过时,表明序列具有确定性趋势但整体平稳。
356 25
趋势还是噪声?ADF与KPSS检验结果矛盾时的高级时间序列处理方法
|
存储 Java 程序员
深度理解JAVA中的栈、堆、对象、方法区、类和他们之间的关系
1.方法:当一个方法执行时,该方法都会建立自己的内存栈,在该方法内定义的变量将会逐个放入内存栈中,随着方法执行结束,该方法的内存栈也将自然销毁.因此,所有在方法中定义的局部变量都是放在栈内存中的。
593 0
深度理解JAVA中的栈、堆、对象、方法区、类和他们之间的关系
|
数据采集 存储 监控
99%成功率背后:阿里云短信服务有何优势?
为什么短信会发送失败,如何提高短信发送成功率,本文将为您介绍短信发送成功率和阿里云短信服务如何保障企业短信稳定送达等相关知识。
859 1
99%成功率背后:阿里云短信服务有何优势?
|
关系型数据库 MySQL Shell
深入了解Linux /etc/passwd文件
深入了解Linux /etc/passwd文件
1232 0
|
机器学习/深度学习 存储 自然语言处理
深度探索自适应学习率调整:从传统方法到深度学习优化器
【5月更文挑战第15天】 在深度学习的复杂网络结构与海量数据中,学习率作为模型训练的关键超参数,其调整策略直接影响着模型的收敛速度与最终性能。传统的学习率调整方法,如固定学习率、学习率衰减等,虽然简单易行,但在多样化的任务面前往往显得力不从心。近年来,随着自适应学习率技术的兴起,一系列创新的优化器如Adam、RMSProp和Adagrad等应运而生,它们通过引入自适应机制动态调整学习率,显著改善了模型的训练效率与泛化能力。本文将深入剖析传统学习率调整方法的原理与局限性,并详细介绍当前主流的自适应学习率优化器,最后探讨未来可能的发展方向。
|
存储 小程序 Java
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(九)
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(九)
【程序设计天梯赛】L1-3 洛希极限
科幻电影《流浪地球》中一个重要的情节是地球距离木星太近时,大气开始被木星吸走,而随着不断接近地木“刚体洛希极限”,地球面临被彻底撕碎的危险。但实际上,这个计算是错误的
595 0
【程序设计天梯赛】L1-3 洛希极限
|
存储 弹性计算 监控
企业邮箱介绍_阿里企业邮箱_阿里邮箱企业版
企业邮箱介绍_阿里企业邮箱_阿里邮箱企业版
1556 4