題目:
輸入身高(公尺)及體重(公斤),計算BMI=體重/身高平方,若BMI< 18.5 則輸出"too thin"
若 18.5<=BMI<24 則輸出 "standard"
若 BMI>=24 則輸出 "too fat"
輸入:
240輸出:
10↵\r\ntoo thin
注意事項:
1.求次方使用函數
pow(int 底數,float 指數),回傳值為double
#include <math.h>
example:input:10^2,output:100
pow(10,2)=100
2.浮點數顯示
去除小數點後面的0:使用%g
printf("%g",bmi);
顯示兩位整數以及四位小數:
printf("%2.4f",bmi);
#include <stdio.h> #include <stdlib.h> #include <math.h> #define THIN 18.5 #define FAT 24 #define LEVEL_1 "too thin" #define LEVEL_2 "standard" #define LEVEL_3 "too fat" int main(void){ float height=0,weight=0,bmi=0; scanf("%f %f", &height,&weight); bmi = weight/pow(height,2); printf("%g\n",bmi); if(bmi<THIN){ printf("%s",LEVEL_1); }else if(bmi>FAT){ printf("%s",LEVEL_3); }else{ printf("%s",LEVEL_2); }return 0; }
給個建議:
回覆刪除1) 不用使用 pow 更不用引入 math 只要使用 height * height 就可以了。
2) 有學過三元算子嗎? " ? : " 若用三元算子取代 if 則 printf 使用一次就可以了哦!
printf("%s", bmi < THIN ? LEVEL_1 : bmi > FAT ? LEVEL_3 : LEVEL_2);
回覆刪除