身高和体重是衡量一个人的健康状况的重要指标。我们把一个人的身高和体重的比值定义为健康值。给出nn个人的身高和体重,这些人中的最大健康值和最小健康值各是多少?(健康值相同的,输入顺序升序排)
时间: 2024-03-22 19:38:55 浏览: 19
好的,这是一个简单的问题,可以用 C++ 代码来解决。以下是一个实现示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Person {
int height;
int weight;
double health;
};
bool cmp(Person a, Person b) {
return a.health < b.health;
}
int main() {
int n;
cin >> n;
vector<Person> people(n);
for (int i = 0; i < n; i++) {
cin >> people[i].height >> people[i].weight;
people[i].health = (double)people[i].height / people[i].weight;
}
sort(people.begin(), people.end(), cmp);
cout << people[0].height << "/" << people[0].weight << " ";
cout << people[n-1].height << "/" << people[n-1].weight << endl;
return 0;
}
```
我们首先定义了一个结构体 `Person` 来存储每个人的身高、体重和健康值。然后我们读入每个人的身高和体重,计算出他们的健康值,并将这些人按照健康值从小到大进行排序。最后输出第一个人和最后一个人的身高和体重即可。
注意,这里的健康值是一个实数,所以我们需要将身高转换为 `double` 类型进行计算。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)