7-211 正常血压
监护室每小时测量一次病人的血压,若收缩压在90 - 140之间并且舒张压在60 - 90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。
输入格式:
第一行为一个正整数n,n < 100
其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。输出格式:
输出仅一行,血压连续正常的最长小时数。
输入样例:
在这里给出一组输入。例如:
4 100 80 90 50 120 60 140 90
输出样例:
在这里给出相应的输出。例如:
2
#include <stdio.h>
int main() {
int T;
scanf("%d", &T);
int now_count = 0, count = 0, shousuo, shuzhang;
for (int i = 0; i < T; ++i) {
scanf("%d %d", &shousuo, &shuzhang);
if (shousuo >= 90 && shousuo <= 140 && shuzhang >= 60 && shuzhang <= 90) {
now_count++;
} else {
if (now_count > count) {
count = now_count;
} else {
now_count = 0;
}
continue;
}
if (now_count > count) {
count = now_count;
}
}
printf("%d", count);
return 0;
}
思路
- count代表结果答案,new_count代表当前保持的最长小时数,如果每次循环判断是否正常范围,然后++
- 每次循环尾判断当前保持的和最终答案的大小,然后对count进行更新