题解:洛谷 P5714 【深基3.例7】肥胖问题

【题目来源】

洛谷:P5714 【深基3.例7】肥胖问题 - 洛谷

【题目描述】

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

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

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

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

请注意,保留六位有效数字不是保留六位小数。例如 \(123.4567\) 应该输出为 \(123.457\)\(5432.10\) 应该输出为 \(5432.1\)

【输入】

共一行。

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

【输出】

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

【输入样例】

70 1.72

【输出样例】

Normal

【算法标签】

《洛谷 P5714 肥胖问题》 #模拟#

【代码详解】

#include <bits/stdc++.h>  // 包含标准库头文件(万能头文件)
using namespace std;      // 使用标准命名空间

/**
 * 主函数 - 程序入口
 * @return 程序执行状态码(0表示成功)
 */
int main()
{
    int m;               // 定义变量:体重m(kg)
    double bmi, h;       // 定义变量:bmi指数,身高h(m)
    
    cin >> m >> h;       // 输入体重和身高
    
    // 计算BMI指数(体重除以身高的平方)
    bmi = m / (h * h);
    
    // 根据BMI值判断体型分类
    if (bmi < 18.5) 
    {
        // BMI < 18.5:体重过轻
        cout << "Underweight";
    } 
    else if (bmi < 24) 
    {
        // 18.5 ≤ BMI < 24:正常体重
        cout << "Normal";
    } 
    else 
    {
        // BMI ≥ 24:超重(输出BMI值+分类)
        cout << bmi << endl << "Overweight";
    }
    
    return 0;            // 程序正常结束
}

【运行结果】

70 1.72
Normal
posted @ 2026-02-16 08:14  团爸讲算法  阅读(0)  评论(0)    收藏  举报