ユーザーの体重と身長の入力を受け取り、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);
}
}