这可以用循环语句写吗?

BMI指数

题目背景

BMI指数是国际上常用的衡量人体胖瘦程度的一个标准。

题目描述

BMI指数的计算公式是m/(h*h)。其中m是指体重
(单位千克),h是指身高(单位米)。不同体型范围与判定结果如下:

  1. 小于18.5,体型偏瘦,输出“Underweight”;
  2. 大于或等于18.5且小于24,体重正常,输出“Normal”;
  3. 大于或等于24,体型肥胖,这时不仅要输出“Overweight”,还要在后面输出BMI指数(保留
    2位小数),两者用空格隔开。

现在给出三位小伙伴的体重和身高,要求你的程序能做对应的判断(注意都要首字母大写)。

输入格式

你的程序输入有三行,每行包含两个空格隔开的浮点数,分别表示体重和身高。

输出格式

你的程序将会输出三行,分别表示对应行数的小伙伴的BMI指数判定结果(具体参照题目描述)

样例 #1

样例输入 #1

70 1.72
71.5 1.67
59.9 1.80

样例输出 #1

Normal
Overweight 25.64
Underweight

对于三行语句输入判断可以用for循环,对于每组数据,只需要分支语句判断就可以了

#include <iostream>
using namespace std;
#include <iomanip>

int main()
{
    for(int i=0;i<3;i++)
    {
        double m,h;
        cin>>m>>h;
        double bmi = m/(h*h);
        if(bmi<18.5)
            cout<<"Underweight"<<endl;
        else if(bmi>=24)
        {
            cout<<"Overweight "<<fixed << setprecision(2)<<bmi<<endl;
        }
        else
            cout<<"Normal"<<endl;
    }
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632