问题标题: 酷町堂:4469

0
0
已解决
黄品翔
黄品翔
初级光能
初级光能

4469

#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
int main()
{
    double a,b,sum=0,bmi=0;
    cin>>a>>b;
    sum=a/(b*b);
    bmi=(int)(sum*10.0+0.5)/10.0;
    if(bmi>=18.5&&bmi<=24)
    {
        cout<<bmi<<" "<<"N";
    }
    else if(bmi<18.5)
    {
        cout<<bmi<<" "<<"L";
    }
    else cout<<bmi<<" "<<"H";
    return 0;
}

80分


0
已采纳
高梓荣
高梓荣
新手天翼
新手天翼

BMI 数值只在输出时四舍五入,保留一位小数。

1.sum是没用的,我的代码是这么写的(输入后)

double bmi=a/(b*b);

2.定义完bmi后,我们可以先printf输出bmi,那样后面只需输出字母

printf("%.1f ",bmi);

3.if判断整体没错 注意printf头文件cstdio 还有%.1f后面是有个空格 要么你就在if判断输出时再加

望采纳 谢谢

0
康曦
康曦
中级光能
中级光能

我是这样写的:

if(k<18.5) {
        printf("%.1f",(int)(k*10+0.5)/10.0);
        cout<<" L";
    }
    else if(k>=18.5&&k<=24) 
    {
        printf("%.1f",(int)(k*10+0.5)/10.0);
        cout<<" N";
    }
    else 
    {
        printf("%.1f",(int)(k*10+0.5)/10.0);
        cout<<" H";
    }

 

0
0
李瑞曦
李瑞曦
高级天翼
高级天翼

我感觉你的代码与我的差不多啊,核心:

b=n/(m*m);
    printf("%.1f ",(int)(b*10+0.5)/10.0);
    if(b<=18.5){
        cout<<"L";
    }
    else if(b<=24){
        cout<<"N";
    }
    else if(b>24){
        cout<<"H";
    }

 

我要回答