问题描述
监护室每小时测量一次病人的血压,若收缩压在90 - 140之间并且舒张压在60 - 90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。
输入
第一行为一个正整数n,n < 100
其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。
输出
输出仅一行,血压连续正常的最长小时数。
样例输入
4 100 80 90 50 120 60 140 90
样例输出
2
作者为初学者,本文用来记录编程思路,略有繁琐勿怪。
分析:
- 我们看到输出的要求是血压连续正常的最长小时数,分析样例数据,样例输出有两不连续的满足数,第一次连续时间是1,而第二次连续时间是2。程序的样例输出最终是2。
- 通过对样例输入的分析,我们得知该程序的难点在于如何增加并储存连续时间,在遇到不满足正常条件的时间段是清除正在计数的连续时间以及如何找到各段连续时间中的最大值。
思路:
为了解决连续读入,所以我们这里需要一个for循环来达到连续输入的目的
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n,a,b;\\a代