有没有人会,听说是数据类型错掉了

这个为什么错了啊问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

算出结果为浮点数
你用整型b接收,当然会强转为整型
改为
double b;
即可

体重用浮点型float,printf打印时用%4.1f格式化输出,代码如下,结果已验证:

#include<stdio.h>
  
int main()
{
    int H;
    float W = 0;
    printf("Please input a height(100<H<=300):\n");
    scanf("%d",&H);
    if((H<=100)||(H>300))
        return 0;
    W=(H-100)*0.9*2;
    printf("%4.1f\n",W);

    return 0;
}


结果验证:
Please input a height(100<H<=300):
169
124.2