问题
问题 B: 你吃胖了吗?
时间限制: 1 Sec 内存限制: 128 MB
提交: 2413 解决: 1388
小李同学放假回家胡吃海喝了几天,发现体重飙升,小李可不想让别人称之为大胖子,你帮小李测一下胖瘦程度吧。
目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准是用体重公斤数除以身高米数平方得出的数字,也就是BMI指数。
体质指数(BMI)=体重(kg)÷身高^2(m)。
根据算出的体质指数,可以判断胖瘦程度,对应关系如下:
偏瘦 <18.5
正常 ≥18.5&&<24
偏胖 ≥24&&<28
肥胖 ≥28&&<30
重度肥胖 ≥30
输入
输入两个实数,用空格隔开,分别表示一个人的体重和身高。
输出
输出胖瘦程度。
样例输入 Copy
50 1.76
样例输出 Copy
偏瘦
代码
#include <iostream>
#include <string>
using namespace std;
/*
偏瘦 <18.5
正常 ≥18.5&&<24
偏胖 ≥24&&<28
肥胖 ≥28&&<30
重度肥胖 ≥30
*/
const string FatThin[] = { "偏瘦", "正常", "偏胖", "肥胖", "重度肥胖" };
const double BMIIndexes[] = { 18.5, 24, 28, 30 };
double getBMI(double weig, double heig);
string getFatThin(double BMI);
int main() {
double weig, heig, BMI; // 体重 身高
cin >> weig >> heig;
BMI = getBMI(weig, heig);
cout << getFatThin(BMI); // 输出胖瘦情况
return 0;
}
double getBMI(double weig, double heig) {
return weig / (heig * heig);
}
/*
偏瘦 <18.5
正常 ≥18.5&&<24
偏胖 ≥24&&<28
肥胖 ≥28&&<30
重度肥胖 ≥30
*/
// const double BMIIndexes[] = { 18.5, 24, 28, 30 };
// const string FatThin[] = { "偏瘦", "正常", "偏胖", "肥胖", "重度肥胖" };
string getFatThin(double BMI) {
if (BMI < BMIIndexes[0]) return FatThin[0];
else if (BMI < BMIIndexes[1]) return FatThin[1];
else if (BMI < BMIIndexes[2]) return FatThin[2];
else if (BMI < BMIIndexes[3]) return FatThin[3];
else return FatThin[4];
}
小结
模块化,常量数组的使用 !