当前位置: 首页 > news >正文

算法每日一题 | 入门-分支结构-肥胖问题

肥胖问题

题目描述

BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 mh2\dfrac{m}{h^2}h2m,其中 mmm 是指体重(千克),hhh 是指身高(米)。不同体型范围与判定结果如下:

  • 小于 18.518.518.5:体重过轻,输出 Underweight
  • 大于等于 18.518.518.5 且小于 242424:正常体重,输出 Normal
  • 大于等于 242424:肥胖,不仅要输出 BMI 值(使用 cout 的默认精度),然后换行,还要输出 Overweight

现在给出体重和身高数据,需要根据 BMI 指数判断体型状态并输出对应的判断。

对于非 C++ 语言,在输出时,请四舍五入保留六位有效数字输出,如果小数部分存在后缀 000,不要输出后缀 000

请注意,保留六位有效数字不是保留六位小数。例如 123.4567123.4567123.4567 应该输出为 123.457123.457123.4575432.105432.105432.10 应该输出为 5432.15432.15432.1

输入格式

共一行。

第一行,共 222 个浮点数,m,hm, hm,h,分别表示体重(单位为 kg),身高(单位为 m)。

输出格式

输出一行一个字符串,表示根据 BMI 的对应判断。特别地,对于 Overweight 情况的特别处理请参照题目所述。

输入输出样例 #1

输入 #1

70 1.72

输出 #1

Normal

输入输出样例 #2

输入 #2

100 1.68

输出 #2

35.4308
Overweight

说明/提示

对于所有数据,40≤m≤12040\le m \le 12040m1201.4≤h≤2.01.4 \le h \le 2.01.4h2.0mmmhhh 的小数点后不超过三位。

C++

注意题面中大于等于24的情况,还要输出 BMI 值!!!

#include<bits/stdc++.h>
usingnamespacestd;
longdouble a,b,bmi;
int main()
{cin>>a>>b;bmi=a/(b*b);if(bmi<18.5) cout<<"Underweight";elseif(bmi>=24) cout<<bmi<<"\nOverweight";elseif(bmi>=18.5and bmi<24)cout<<"Normal";return0;
}

Python

# 读取输入的体重和身高
m, h = map(float, input().split())
# 计算BMI指数
bmi = m / (h ** 2)
# 根据BMI指数判断体型状态并输出结果
if bmi < 18.5:print("Underweight")
elif 18.5 <= bmi < 24:print("Normal")
else:print(f"{bmi:.6g}")  # 保留六位有效数字print("Overweight")

Java

import java.util.Scanner;publicclass Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取输入的体重和身高double m = scanner.nextDouble();double h = scanner.nextDouble();scanner.close();// 计算BMI指数double bmi = m / (h * h);// 根据BMI指数判断体型状态并输出结果if (bmi < 18.5) {System.out.println("Underweight");} elseif (bmi < 24) {System.out.println("Normal");} else {System.out.printf("%.6g\n", bmi);  // 保留六位有效数字System.out.println("Overweight");}}
}

人们在人生中需要做出许多选择,只有一次次选择后才能带来无限可能,我们要根据自己掌握的情况,做出最佳的选择。

http://www.dtcms.com/a/349806.html

相关文章:

  • 【modbus学习】野火Modbus主机接收到数据后的完整函数调用流程
  • Ajax笔记(上)
  • Vue3在一个对象的list中,找出update_date最大的一条数据
  • MCP 协议原理与系统架构详解—从 Server 配置到 Client 应用
  • vscode--快捷键
  • ESP8266学习
  • 嵌入式开发学习———Linux环境下网络编程学习(六)
  • 驾驭 Glide 的引擎:深度解析 Module 与集成之道
  • 音视频学习(五十六):单RTP包模式和FU-A分片模式
  • ESP32开发WSL_VSCODE环境搭建
  • *解决 Visual Studio 编译时的字符编码问题
  • 41_基于深度学习的小麦病害检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • 服务器(Linux)新账户搭建Pytorch深度学习环境
  • Linux(从入门到精通)
  • Wisdom SSH 核心功能定位与 sudo 权限配置指南
  • 四层Nginx代理日志配置
  • 2024年Engineering SCI2区,面向工程管理的无人机巡检路径与调度,深度解析+性能实测
  • Vue 2 中的 v-model和Vue3中的v-model
  • 设计模式:原型模式(Prototype Pattern)
  • 使用 HandlerMethodReturnValueHandler 在SpringBoot项目 实现 RESTful API 返回值自动封装,简化开发
  • 数据结构青铜到王者第三话---ArrayList与顺序表(2)
  • 零知开源——基于STM32F103RBT6和ADXL335实现SG90舵机姿态控制系统
  • three.js+WebGL踩坑经验合集(9.1):polygonOffsetUnits工作原理大揭秘
  • 【数据结构】LeetCode160.相交链表 138.随即链表复制 牛客——链表回文问题
  • [SC]SystemC动态进程概述及案例
  • LinkedIn 自动消息发送工具
  • 网络编程——TCP、UDP
  • 人工智能(AI)与网络安全
  • 【Linux】协议的本质
  • 一键脚本:自动安装 Nginx + Certbot + HTTPS(Let‘s Encrypt)