P5714 【深基3.例7】肥胖问题---Java

题目描述

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

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

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

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

请注意,保留六位有效数字不是保留六位小数。例如 114.5149114.5149114.5149 应该输出为 114.515114.515114.515,9198.109198.109198.10 应该输出为 9198.19198.19198.1。
输入格式

无
输出格式

无
输入输出样例
输入 #1

70 1.72

输出 #1

Normal

说明/提示

m 和 h 均不超过 3 位小数

import java.math.BigDecimal;
import java.util.Scanner;
public class P5714 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        float m = sc.nextFloat();
        float h = sc.nextFloat();
        float bmi = m/(h*h);
        if (bmi<18.5){
            System.out.print("Underweight");
        }
        else if (bmi>=18.5&&bmi<24){
            System.out.print("Normal");
        }
        else{

            int scale = 4;//设置位数
            int roundingMode = 4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等.
            BigDecimal bd = new BigDecimal((double)bmi);
            bd = bd.setScale(scale, roundingMode);
            bmi = bd.floatValue();
           System.out.print(bmi+"\n"+"Overweight");
        }
    }
}

你可能感兴趣的:(洛谷)