1

ユーザーの体重と身長の入力を受け取り、BMI 値を返し、体重が下/上か標準かをユーザーに伝えるプログラムを作成しようとしています。コードはエラーなしでコンパイルされますが、体重と身長にどのような数値を入力しても、結果は常に「あなたの BMI は 0 で、体重は太りすぎです」となります。私のコードに何か問題がありますか、それとも私の数学が間違っていますか?

#include <stdio.h>

int main()
{
    double wt_lb, ht_in, bmi, ht_ft;

    printf("Please enter your weight in whole pounds: ");
    scanf("%lf", &wt_lb);
    printf("Please enter your height in whole inches: ");
    scanf("%lf", &ht_in);

    ht_ft = ht_in/12;
    bmi = (703*wt_lb)/(ht_ft*ht_ft);

    if (bmi < 18.5) {
            printf("You have a BMI of %.lf, and your weight status is underweight\n" &bmi);
    } else if (bmi >= 18.5 && bmi < 25) {
        printf("You have a BMI of %.lf, and your weight status is normal\n", &bmi);
    } else {
        printf("You have a BMI of %.lf, and your weight status is overweight\n", &bmi);
    }
}
4

2 に答える 2

1

printf ステートメントでは &bmi を使用せず、単純な bmi を使用します。それはうまくいくはずです

于 2013-10-21T22:20:32.500 に答える