1 条题解

  • 0
    @ 2068-11-26 13:49:56

    练21.4 体质指数BMI

    解题思路

    按身高、体重顺序读入,BMI=w/h²。以 18.5、24、28、40 为分界,逐级输出五种程度。

    正确性说明

    各段按连续阈值划分,逐级小于判断覆盖全部非负 BMI;边界自然进入较高一档。

    易错点

    本题输入先身高后体重,身高单位米。

    复杂度

    输入规模固定,时间 O(1),额外空间 O(1)。

    参考代码(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        double h, w;
        cin >> h >> w;
        double b = w / (h * h);
        if (b < 18.5)
            cout << "偏瘦";
        else if (b < 24)
            cout << "正常";
        else if (b < 28)
            cout << "偏胖";
        else if (b < 40)
            cout << "肥胖";
        else
            cout << "极重度肥胖";
        cout << "\n";
        return 0;
    }
    
    • 1