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

问题分析

一个人的数据有姓名,呼吸,脉搏,用结构体来写这道题比较方便,输入一个人的数据之后根据其每一项的数据与正常的值比较看是否在正常范围内,如果至少有一项不在正常范围内就输出这一人的姓名。

代码实现

 

#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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值