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

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

肥胖问题

题目描述

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.xdnf.cn/news/18702.html

相关文章:

  • java 并发编程八股-多线程篇
  • 【iOS】内存管理及部分Runtime复习
  • Kubernetes高可用架构设计:多Master节点部署与etcd集群运维深度指南
  • centos7 安装coze
  • ZYNQ [Petalinux的运行]
  • Pytorch框架的训练测试以及优化
  • 数据结构青铜到王者第三话---ArrayList与顺序表(2)
  • 区块链技术原理(18)-以太坊共识机制
  • 哈夫曼树详解
  • 神经网络|(十五)概率论基础知识-协方差标准化和皮尔逊相关系数
  • 人机协作,温暖升级:有鹿机器人与保洁张阿姨的故事
  • 2025年06月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Python Day 33 JavaScript BOM 与 DOM 核心笔记整合
  • Linux(从入门到精通)
  • Elasticsearch JVM调优:核心参数与关键技巧
  • 2025生成式引擎优化(GEO)技术研究报告:技术演进、行业应用与服务商能力选择指南
  • 《微服务架构下API网关流量控制Bug复盘:从熔断失效到全链路防护》
  • 解析电商本地生活竞争:从我店模式创新到生态协同的进化路径
  • 基坑监测报警系统方案:实时监测数据联动响应方式
  • Node.js特训专栏-性能优化:24.V8引擎内存管理机制
  • Python办公——爬虫百度翻译网页版(自制翻译小工具——进阶更新版)
  • 渗透测试报告编写平台 | 简化和自动化渗透测试报告的生成过程。
  • 大数据治理域——离线数据开发
  • 深度学习(二):数据集定义、PyTorch 数据集定义与使用(分板块解析)
  • leetcode 498. 对角线遍历 中等
  • (论文速读)FloVD:光流遇见视频扩散模型,开启相机控制视频生成
  • RAG实现多语言客户端的技术方案
  • Claude Code 使用及配置智能体
  • MQTT协议详解:从基础原理到工业级实践指南
  • CANopen - DCF(Device Configuration File) 介绍