24:正常血压
总时间限制: 1000ms 内存限制: 65536kB
描述
监护室每小时测量一次病人的血压,若收缩压在90 - 140之间并且舒张压在60 - 90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。
输入
第一行为一个正整数n,n < 100
其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。
输出
输出仅一行,血压连续正常的最长小时数。
样例输入
4
100 80
90 50
120 60
140 90
样例输出
2
题意
输入一个正整数n(代表小时数),和病人每小时的收缩压和舒张压,若收缩压在90 - 140之间并且舒张压在60 - 90之间(包含端点值)则称之为正常,最后输出血压连续正常的小时数。
思路
先用for循环循环n次(每循环一次代表一小时):
然后输入收缩压与舒张压
然后用if判断是否满足判断条件(如果收缩压在90 - 140之间,并且舒张压在60 - 90之间):
如果是:
temp+1
如果不是:
temp=0
最后判断time是否小于temp
如果是:
把temp赋值给time
如果不是:
执行下一次循环
循环结束后输出time。
代码实现
点击查看代码
#include "iostream"
using namespace std;
int main()
{
int n;//定义变量n
cin>>n;//输入n
int num1,num2;//定义变量num1,num2
int time=0,temp=0;//定义变量time,temp
for(int i=0;i<n;i++)
{
cin>>num1>>num2;//输入变量num1,num2
if(num1>=90&&num1<=140&&num2>=60&&num2<=90)//判断num1是否大于90并且小于140并且num2大于60并且小于90
{
temp++;//temp加1
}
else
{
temp=0;//temp归零
}
if(time<temp)//如果time小于temp
{
time=temp;//把temp赋值给time
}
}
cout<<time;//输出time
return 0;
}