BMI

本文介绍了一款BMI计算器程序,该程序能够根据输入的身高和体重数据判断个体的体重状态,包括过轻、正常和过重,并提供相应的体重调整建议。通过计算BMI指数,程序能帮助用户了解自身是否处于健康体重范围内。

(此方法JZXX过不了,把round改成while才能过)

BMI
Description
小X经过刻苦训练获得了 NOIP 的国一,并参加了 NOI,获得了保送资格,被保送到南都大学学习,进入大学以后,小X觉得中学编程太辛苦了,应该好好犒劳一下自己,刚好南都大学周边美食如云,吃不胜吃,小X不到一个学期就长了 30 多斤,四年下来已经胖得不成样子,体重一举飙升到了 118kg,同时血压也升到了 128mmHg,离正常血压的上限也不远了,数字都很吉祥,但身体状况已呈险兆,上个楼梯就心慌气促,于是下定决心要减重,正所谓胖子不是一天就能吃成的,瘦下来也不可能饿几天就达到,小X的短期目标就是减到像 Q 老师那么瘦,尽管也从没有人夸过 Q 老师瘦!当然小X的最终目标是减到正常体重,正常体重怎么算呢?国际通用的标准是 BMI 指数,以下科普一下 BMI 指数:BMI 指数=体重/(身高^2),正
常范围在 18 到 24 之间,小于 18 过轻,大于 24 过重。这里体重的单位为公斤(kg),身高的单位是米(m)。如费德勒的身高为 185 厘米,体重为 85 公斤,其 BMI=85/(1.85*1.85)≈24.8356。

Input
输入数据包含两个用空格隔开的正整数,分别表示身高和体重,身高的单位是厘米(cm),体重的单位为公斤(kg),1 米等于 100 厘米。

Output
输出数据第一行为一个字符串,“Good!”表示正常,“Too fat!”表示过重,“Too thin!”表示过轻,双引号不需要输出,感叹号都是英文字符。
如果体重正常则不用输出第二行,否则第二行输出一个正整数 w,表示此人离正常体重的最小整数差值,假如此人过重,则他要减去 w 公斤才能使得 BMI 指数小于等于 24,如果太轻则要增加 w 公斤才能使得BMI 指数大于等于 18。

Sample Input
样例1:
175 118
样例2:
173 50
样例3:
176 58
Sample Output
样例1:
Too fat!
45
样例2:
Too thin!
4
样例3:
Good!
Hint
【样例解释】
样例 1 为小X的身高体重,小X最少需要减掉 45 公斤体重才能达标;样例二为某大学生的身高体重,
他最少需要增加 4 公斤体重才达标;样例三是某学生的身高体重,他的 BMI 大约等于 18.72,正常!
【数据范围】
20%的数据,BMI 在正常范围内
另外 80%的数据,一半太胖,一半太瘦
100%的数据,身高<=250,体重<=300

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double cm,kg,bmi;
    cin>>cm>>kg;
    cm=cm/100;
    bmi=kg/(cm*cm);
    if(bmi>=18&&bmi<=24)
    {
        cout<<"Good!"<<endl;
    }
    else
    {
        if(bmi<18)
        {
            cout<<"Too thin!"<<endl;
            cout<<round(cm*cm*18-kg)<<endl;
        }
        else
        {
            cout<<"Too fat!"<<endl;
            cout<<round(kg-cm*cm*24)<<endl;
        }
    }
    return 0;
}

以下是几种不同实现方式的计算 BMI 的 Python 代码: ### 简单的 BMI 计算并判断健康状况 ```python height = 1.75 weight = 80.5 BMI = weight / (height * height) if BMI < 18.5: print('过轻') elif 18.5 <= BMI < 25: print('正常') elif 25 <= BMI < 28: print('过重') elif 28 <= BMI < 32: print('肥胖') elif BMI >= 32: print('严重肥胖') ``` 这个代码直接给定身高和体重的值,计算出 BMI 并对健康状况进行判断[^2]。 ### 可交互的 BMI 计算器 ```python #-*- coding:utf-8 -*- def bmi(): while(True): try: l = input("输入体重和身高,单位为 kg 和 m,用英文逗号隔开(退出请输入 exit):").split(",") if l[0] == 'exit': break w, b = map(float, l) BMI = w / b**2 print(BMI) except ValueError as err: print("请正确输入数值") bmi() ``` 此代码使用函数封装,允许用户在命令行输入体重和身高,支持用户退出操作,并且会对输入的错误格式进行提示[^1]。 ### 封装成类的 BMI 计算器 ```python class BMICalculator: def __init__(self, weight, height): self.weight = weight self.height = height def calculate_bmi(self): bmi = self.weight / (self.height ** 2) return bmi def get_health_status(self): bmi = self.calculate_bmi() if bmi < 18.5: return '过轻' elif 18.5 <= bmi < 25: return '正常' elif 25 <= bmi < 28: return '过重' elif 28 <= bmi < 32: return '肥胖' elif bmi >= 32: return '严重肥胖' # 使用示例 weight = 60 height = 1.7 bmi_calculator = BMICalculator(weight, height) bmi = bmi_calculator.calculate_bmi() status = bmi_calculator.get_health_status() print(f"BMI: {bmi}, 健康状况: {status}") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值