24:正常血压
http://noi.openjudge.cn/ch0105/24/ (题目链接)
题意
若收缩压在90 - 140之间并且舒张压在60 - 90之间(包含端点值)则称之为正常,计算病人保持正常血压的最长小时数。
解题思路
先用for循环次数,再用if判断是否满足条件(收缩压在90 - 140之间并且舒张压在60 - 90之间),是的话多用变量c计一个小时 ,再用if判断、如果c>cm现在的持续时间大于已经记录过的持续时间,用cm再次代替c;不满足条件的话把c计为0小时,最后打印出持续最长小时数。
代码实现
#include<iostream>
using namespace std;
int main (){
int n,h,l,c=0,cm=0;
cin>>n;
for(int i=1;i<=n;i++){ //循环次数
cin>>h>>l; //输入收缩压和舒张压
if(h>=90 && h<=140 && l>=60 && l<=90){ //判断收缩压和舒张压是否在正常范围内
c++; //计最长小时数次数
if(c>cm){
cm=c;
}
}
else{ //如果不满足收缩压和舒张压是否在正常范围内的条件
c=0; //次数将计为0
}
}
cout>>cm;
return 0;
}