c++ 输入性别身高体重 输出体脂率 并显示身体状态怎么编程
时间: 2024-09-13 22:10:32 浏览: 88
输入身高体重计算体重指数.c
5星 · 资源好评率100%
在C++中,要实现输入性别、身高、体重并输出体脂率以及显示身体状态,你需要定义一个计算体脂率的算法,以及一个判断身体状态的逻辑。这里提供一个简单的例子:
首先,我们可以使用布罗卡(Broca)公式来估算体脂率,这个公式适用于成年男性和女性:
男性体脂率(%)=(体重[kg] - 身高[cm]/100 * 2.2)/ 体重[kg] * 100
女性体脂率(%)=(体重[kg] - 身高[cm]/100 * 2.2)/ 体重[kg] * 100 - 12
然后,根据体脂率的不同,可以设定几个区间来判断身体状态,例如:
- 体脂率低于20%(男性)或30%(女性):正常;
- 体脂率在20%-25%(男性)或30%-35%(女性):过重;
- 体脂率高于25%(男性)或35%(女性):肥胖。
下面是一个简单的C++程序示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string gender;
float height, weight, bodyFat;
std::cout << "请输入性别(男/女): ";
std::cin >> gender;
std::cout << "请输入身高(cm): ";
std::cin >> height;
std::cout << "请输入体重(kg): ";
std::cin >> weight;
if (gender == "男") {
bodyFat = ((weight - (height / 100 * 2.2)) / weight) * 100;
} else if (gender == "女") {
bodyFat = ((weight - (height / 100 * 2.2)) / weight) * 100 - 12;
} else {
std::cout << "性别输入错误,请输入正确的性别(男/女)。\n";
return 1;
}
std::cout << "你的体脂率为: " << bodyFat << "%" << std::endl;
if (bodyFat < 20) {
std::cout << "身体状态:正常\n";
} else if (bodyFat >= 20 && bodyFat <= 25) {
std::cout << "身体状态:过重\n";
} else if (bodyFat > 25) {
std::cout << "身体状态:肥胖\n";
} else {
std::cout << "发生错误。\n";
}
return 0;
}
```
阅读全文