c语言分别计算男女bmr
时间: 2024-09-22 14:02:38 浏览: 72
BMR (基础代谢率)是身体在安静状态下消耗的能量速率,用于计算维持生命活动所需的最低热量。对于C语言,我们可以创建一个简单的函数来计算男性的BMR(通过哈里斯-贝内迪克特公式)和女性的BMR(通过米夫林-圣杰奥尔格公式)。这两个公式通常基于年龄、体重、身高和性别。
以下是两个公式的大致计算方法:
**男性BMR公式(哈里斯-贝内迪克特):**
```c
float calculateBMIForMen(int age, float weight_kg, float height_cm) {
const float BMR_male_per_unit = 88.362;
const float BMR_age_factor[] = {0, 6.25, 9.563, 13.75, 17.15, 19.9, 24.7, 27.6};
int index = age <= 20 ? age : 20;
return BMR_male_per_unit * weight_kg / ((height_cm / 100) * (height_cm / 100));
}
```
**女性BMR公式(米夫林-圣杰奥尔格):**
```c
float calculateBMIForWomen(int age, float weight_kg, float height_cm) {
const float BMR_female_per_unit = 447.593;
const float BMR_age_factor[] = {0, 4.33, 5.67, 6.25, 6.75, 7.15, 6.5, 6.0};
int index = age <= 20 ? age : 20;
return BMR_female_per_unit * weight_kg / ((height_cm / 100) * (height_cm / 100));
}
```
注意:这个代码示例假设了输入年龄已经转换为整数年份,并且输入的身高是以厘米为单位的。实际应用中需要处理输入验证和浮点数运算。
阅读全文