L1-047 装睡 (10 分)(有更新,在文章末尾)
你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。
输入格式:
输入在第一行给出一个正整数N(≤10)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的串)、其呼吸频率和脉搏(均为不超过100的正整数)。
输出格式:
按照输入顺序检查每个人,如果其至少一项指标不在正常范围内,则输出其名字,每个名字占一行。
输入样例:
4
Amy 15 70
Tom 14 60
Joe 18 50
Zoe 21 71
输出样例:
Tom
Zoe
关于这道题,从题目上来看不难,做起来,也不难。我在这利用的是结构体去做的。在刚开始写代码的过程中我构造的结构体是这样的:
typedef struct
{
char name[4];//姓名
int huxirate;//呼吸频率
int pulse;//脉搏
}people;
但是我在写到如何去判断谁距离大家平均数的一半近的时候我卡住了,总不可能用循环再一个一个去减,然后在用一个循环去判断大小吧。于是我想到了在结构体中再增加一个成员
typedef struct
{
char name[4];//姓名
int huxirate;//呼吸频率
int pulse;//脉搏
int state;//状态,0表示装睡,1表示真睡
}people;
然后这样就好做很多了,直接在输入之后就立马判断是否在装睡了。
下面是我全部代码及注释:
#include<stdio.h>
typedef struct