사용자의 체중과 신장을 입력 한 다음 BMI 값을 반환하고 사용자에게 그들이 과소 체중 또는 정상 체중인지를 알려주는 프로그램을 작성하려고합니다. 코드는 오류없이 컴파일되지만 체중과 신장에 대해 입력 한 숫자가 무엇이든 결과는 항상 "체중이 과체중 인 체중 상태가 0입니다."입니다. 내 코드에 문제가 있습니까? 아니면 수학이 잘못 되었습니까?BMI 계산기를 작성하는 데 도움이 필요합니다.
#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);
}
}
입력 작업의 반환 값을 무시해서는 안됩니다. 오류 검사가 없으면 프로그램이 본질적으로 결함이 있으며 진단 할 수 없습니다. –
wt_lb 및 ht_in 값을 출력하십시오. –
당신은 정말로'printf ("[...] 저체중 \ n"&bmi);'?)에 쉼표가 누락 되었습니까? – RichieHindle