0
#include <stdio.h>
#include <stdlib.h>
int main() {
    double w, h, b;
    printf("Enter your weight in pounds \n");
    scanf("%d", &w);
    printf("Enter your height in inches \n");
    scanf("%d", &h);
    h = h/12;
    b = w*703 / (h*h);
    if (b < 18.5) {
        printf("underweight");
    } else if (b>=18.5 && b<25) {
        printf("normal");
    } else {
        printf("overweight");
    }
    system("Pause");
}

好的,所以无论我输入什么数字,我的代码都会打印“体重不足*”,我不知道为什么。如果有人能指出我正确的方向,那将不胜感激

4

1 回答 1

5

当它们是双倍时,您正在将数字读取为整数。你要

scanf("%lf", &w);

等等

于 2013-01-21T06:42:23.667 回答