C++新手小白求救各位大佬!!!我的程序为何不对?
我最近正在跟着一本书——《信息学奥赛一本通(C++版)》学习C++,书后练习题里有一道题如下:
【题目描述】
监护室每小时测量一次病人的血压,若收缩压在90-140之间并且舒张压在60-90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。
【输入】
第一行为一个正整数n(n<100),其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压。
【输出】
输出仅一行,血压连续正常的最长小时数。
【输入样例】
4
100 80
90 50
120 60
140 90
【输出样例】
2
我的程序如下:
那本书有一个配套的测评网站——http://ybt.ssoier.cn:8088/,我把程序传上去之后它说答案错误,我很纳闷
,看了书后参考答案,参考答案如下:
我看完后很纳闷
,我的程序哪里错了?
求各位大佬们指教指教!!!感谢!!!十分感谢!!!




【题目描述】
监护室每小时测量一次病人的血压,若收缩压在90-140之间并且舒张压在60-90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。
【输入】
第一行为一个正整数n(n<100),其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压。
【输出】
输出仅一行,血压连续正常的最长小时数。
【输入样例】
4
100 80
90 50
120 60
140 90
【输出样例】
2
我的程序如下:
# include <cstdio>
using namespace std;
int main()
{
int hour, systolic, diastolic, last_keep = 0, next_keep = 0, not_normal = 0;
//定义hour小时数、systolic收缩压、diastolic舒张压、last_keep和next_keep保持小时数和not_normal不正常小时数整型变量
scanf("%d", &hour); //scanf输入小时数
for (int i = 1; i <= hour; ++i) //利用for循环让用户输入hour遍血压
{
scanf("%d %d", &systolic, &diastolic); //scanf输入收缩压和舒张压
if ((90 <= systolic) && (systolic <= 140) && (60 <= diastolic) && (diastolic <= 90)) //判断血压是否正常
{
if (not_normal == 0) //判断血压是否还没有不正常过
{
last_keep += 1; //(不正常之前的)保持小时数加1
}
else //血压已经不正常过了
{
next_keep += 1; //(不正常之后的)保持小时数加1
if (next_keep > last_keep) //判断新保持小时数是否破纪录了
{
last_keep = next_keep; //更新记录,不管前面的连续保持,以这个新纪录为新起点继续
next_keep = 0; //更新标准后归零
not_normal = 0; //更新标准后归零
}
}
}
else //血压不正常
{
if (not_normal == 0) //判断是不是第一次不正常
{
not_normal += 1; //不正常次数加1
}
}
}
printf("%d\n", last_keep); //printf输出最长纪录
return 0; //结束程序
}
那本书有一个配套的测评网站——http://ybt.ssoier.cn:8088/,我把程序传上去之后它说答案错误,我很纳闷

,看了书后参考答案,参考答案如下:
#include <cstdio>
using namespace std;
int main()
{
int a,b,i,n,t,m,j,max=0; //max储存病人血压连续正常的最长小时数
scanf("%d", &n); t=0;
for(i=1;i<=n;++i) //循环判断每个小时中,病人的血压是否正常
{
scanf("%d%d",&a,&b);
if (a>=90&&a<=140&&b>=60&&b<=90)
//判断在i个小时中,病人的血压是否正常
{
t++;
if (t>max) max=t;
}
else t=0; //这个病人血压不正常,则清零t
}
printf("%d\n",max);
return 0;
}
我看完后很纳闷
,我的程序哪里错了?
求各位大佬们指教指教!!!感谢!!!十分感谢!!!





...全文
相关推荐
C++ .h和.cpp文件总结
总结了.h文件能做什么,.cpp文件能做什么,总结了.h文件的本质,方便新手在遇到文件包含、类型声明、变量定义时能理清.h与.cpp关系,纯属个人总结文档。
C++编程新手到高手:CS42Cpp课程学习之路
本文还有配套的精品资源,点击获取 简介:"CS42Cpp"课程设计为初学者提供了一个系统的C++学习路径,涵盖了从基础知识到高级概念的全面内容。课程分为两个部分:前4周的基础阶段,后16周的深入阶段,逐渐引导学员掌握C++的语法、面向对象编程、高级特性如模板和STL使用。课程利用"CS42Cpp-master"资源包提供实践材料,帮助学员通过实际编码提高编程技能和解决问题的...
流水线作业调度,c++经典程序!!!
流水线作业调度,这是一个经典的c++程序,会让你更加清楚认识c++的,请下载!!!
C++s非常适合新手学习!!!
C++非常适合新手学习!!!如果学习中需要更多资料可以联系我
C++魔方矩阵!!!
C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!C++魔方矩阵!!!


