首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用体重指数计算器对C++中的数字进行四舍五入时出现问题

使用体重指数计算器对C++中的数字进行四舍五入时出现问题
EN

Stack Overflow用户
提问于 2020-07-05 02:04:27
回答 1查看 146关注 0票数 1

我正在尝试用C++做一个简单的体重指数计算器。当我输入我的个人身高和体重时,我得到了正确的结果,但我不能将数字舍入到最接近的整数。我查阅了一些视频和一些文章,其中许多建议使用"round()“函数。我试过了,得到的结果是0!所有的反馈都会有所帮助。谢谢!

代码语言:javascript
复制
#include <iostream>
#include <cmath>

using namespace std;

float Calculate(float kilo, float centimeter)
{
    float meter = centimeter * 100;
    return kilo / (meter * meter);
}


int main()
{
    float kilo, centimeter;
    float bmi;

    cout << "BMI calculator." << endl;
    cout << "Please enter your weight in kilograms. ";
    cin >> kilo;
    cout <<"Please enter your height in centimeters. ";
    cin >> centimeter;

    bmi = Calculate(kilo, centimeter);

    cout << round(bmi) << endl;
    return 0;
}
EN

回答 1

Stack Overflow用户

发布于 2020-07-05 02:17:29

你计算体重指数的公式是错误的,只需更改行float meter = centimeter/100;即可。因为根据你的公式,任何数字乘以100,然后平方,会变得非常大,在除以权重后,你会得到非常小的浮点数,最终会四舍五入,这就是为什么你总是在输出中得到0

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62732681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档