#include <stdio.h>
int main()
{
char S;
float tall;
float weight;
float BMI;
printf("성별(M or W): ");
scanf("%c", &S);
printf("키(단위: m, 예: 1.7): ");
scanf("%f", &tall);
printf("체중(단위 kg, 예: 87): ");
scanf("%f", &weight);
BMI = weight / (tall * tall);
if (S = 'M')
{
printf("성별: 남자, 키: %.1f m, 몸무게: %.0f kg, BMI: %f\n", tall, weight, BMI);
if (BMI < 20.0)
{
printf("저체중 입니다.\n");
}
else if (20.0 <= BMI < 25.0)
{
printf("정상체중 입니다.\n");
}
else if (25.0 <= BMI)
{
printf("과체중 입니다.\n");
}
}
else
{
printf("성별: 여자, 키: %.1f m, 몸무게: %.0f kg, BMI: %f\n", tall, weight, BMI);
if (BMI < 18.5)
{
printf("저체중 입니다.\n");
}
else if (18.5 <= BMI < 25.0)
{
printf("정상체중 입니다.\n");
}
else if (25.0 <= BMI)
{
printf("과체중 입니다.\n");
}
}
return 0;
}
오류가 뭔가요
자꾸 체중이 기하급수적으로 높아져요
1시간 더 찾아보고 와
그러게
그런데 잘못 된 부분이 없는 거 같은데... 실행도 잘 된다.
굳이 잘못된 점을 따지자면, M을 넣든 W를 넣든 남자라고 나옴
else 말고 else if로 조건식 지정해주고 else에는 예외처리로 종료시키거나 반복문으로 바꿔서 재입력 시키는게 나을듯
와 그러네요. 댓글보고 두 번 더 컴파일해보고 발견함;