題目:
輸入身高(公尺)及體重(公斤),計算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);
回覆刪除