/* Part 演習問題3 */ /* BMI(ローレル指数)の計算 */ #include <stdio.h> int main(void) { struct person { int id ; /* 個人ID */ double h ; /* 身長(m) */ double w ; /* 体重(Kg) */ int bmi ; /* BMI(ローレル指数) */ } ; struct person x ; printf("個人ID 身長(m) 体重(Kg)を入力してください(EOFで終了)。\n") ; while(1) { if(scanf("%d %lf %lf",&x.id,&x.h,&x.w)==EOF) break ; if((x.id<1)||(x.h<0.3)||(x.h>2.5)||(x.w<1)||(x.w>300)) { printf("入力データに誤りがあります。入力し直してください。\n") ; } else { x.bmi=(10*x.w)/(x.h*x.h*x.h) ; printf("BMI=%d -> ",x.bmi) ; if(x.bmi<100) printf("やせすぎ\n") ; else if(x.bmi<114) printf("やせている\n") ; else if(x.bmi<144) printf("普通\n") ; else if(x.bmi<159) printf("太っている\n") ; else printf("太りすぎ\n") ; } } return(0) ; } |
個人ID 身長(m) 体重(Kg)を入力してください(EOFで終了)。 1 1.67 61 BMI=130 -> 普通 2 1.75 78 BMI=145 -> 太っている 3 1.7 95 BMI=193 -> 太りすぎ 4 1.6 50.3 BMI=122 -> 普通 5 1.65 -34 入力データに誤りがあります。入力し直してください。 5 0.1 3.4 入力データに誤りがあります。入力し直してください。 5 1.65 47.3 BMI=105 -> やせている 6 1.71 42.2 BMI=84 -> やせすぎ |