C++实现监护室每小时测量一次病人的血压,若收缩压在90-140之间并且舒张压在60-90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。【输入】第一行为一个正整数n(n<100),其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压。【输出】输出仅一行,血压连续正常的最长小时数。 输入样例: 6 90 60 100 80 95 55 100 88 120 80 100 80 输出样例: 3
时间: 2024-04-08 12:34:51 浏览: 95
可以使用C++编写一个程序来解决这个问题。首先,我们需要读取输入数据并进行处理。然后,我们需要计算连续正常血压的最长小时数。最后,我们将结果输出。
下面是一个示例代码,实现了上述功能:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<pair<int, int>> measurements;
for (int i = 0; i < n; i++) {
int systolic, diastolic;
cin >> systolic >> diastolic;
measurements.push_back(make_pair(systolic, diastolic));
}
int maxHours = 0;
int currentHours = 0;
for (int i = 0; i < n; i++) {
if (measurements[i].first >= 90 && measurements[i].first <= 140 &&
measurements[i].second >= 60 && measurements[i].second <= 90) {
currentHours++;
} else {
maxHours = max(maxHours, currentHours);
currentHours = 0;
}
}
maxHours = max(maxHours, currentHours);
cout << maxHours << endl;
return 0;
}
```
你可以将上述代码保存为一个名为`blood_pressure.cpp`的文件,并使用C++编译器进行编译运行。
输入样例:
```
6
90 60
100 80
95 55
100 88
120 80
100 80
```
输出样例:
```
3
```
这个程序会正确读取输入数据,并计算出连续正常血压的最长小时数,并将结果输出。
阅读全文