你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。
输入格式:
输入在第一行给出一个正整数N(≤10)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的串)、其呼吸频率和脉搏(均为不超过100的正整数)。
输出格式:
按照输入顺序检查每个人,如果其至少一项指标不在正常范围内,则输出其名字,每个名字占一行。
输入样例:
4
Amy 15 70
Tom 14 60
Joe 18 50
Zoe 21 71
输出样例:
Tom
Zoe
问题分析
一个人的数据有姓名,呼吸,脉搏,用结构体来写这道题比较方便,输入一个人的数据之后根据其每一项的数据与正常的值比较看是否在正常范围内,如果至少有一项不在正常范围内就输出这一人的姓名。
代码实现
#include<stdio.h>
struct man{
char name[4];//用来保存姓名
int f;//呼吸的频率
int p;//脉搏
int normal;//正常的项数
};
int main(){
struct man m[10];
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%s %d %d",m[i].name,&m[i].f,&m[i].p);
m[i].normal=0;//对一个人的正常项数初始化为0,然后检测相应的值是否在正常范围内,在正常范围内则normal加1
if(m[i].f>=15&&m[i].f<=20){
m[i].normal++;
}
if(m[i].p>=50&&m[i].p<=70){
m[i].normal++;
}
if(m[i].normal<=1){//normal的值代表了正常的项数,当Normal的值小于2时说明其有至少一项不在正常范围内
printf("%s\n",m[i].name);
}
}
return 0;
}
通过分析呼吸频率和脉搏判断是否有人在装睡。输入姓名、呼吸频率和脉搏,使用结构体存储数据并检查是否超出正常范围。
1427

被折叠的 条评论
为什么被折叠?



