L1-047 装睡

你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。

输入格式:

输入在第一行给出一个正整数N(≤10)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的串)、其呼吸频率和脉搏(均为不超过100的正整数)。

输出格式:

按照输入顺序检查每个人,如果其至少一项指标不在正常范围内,则输出其名字,每个名字占一行。

输入样例:

4
Amy 15 70
Tom 14 60
Joe 18 50
Zoe 21 71

输出样例:

Tom
Zoe

 Note:唉我真是净挑些简单的题目做。。。没什么好记录的。

#include 
#include 

int main()
{
    int i, n, flag;
    char name[4];
    int br, pl;
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        flag = 0;
        scanf("%s %d %d", name, &br, &pl);
        if (br < 15 || br > 20) flag = 1;
        if (pl < 50 || pl > 70) flag = 1;
        if (flag) printf("%s\n", name);
        memset(name, '\0', sizeof(name));
    }
    return 0;
}

 哈哈哈哈哈哈哈你要是不往下面看你就吃亏拉,其实这题更简单的做法是下面这样的,甚至都不要清空数组哈哈哈。直接用逆否做就行啦,我们知道呼吸15到20之间且脉搏50到70之间就不算睡觉,它的逆否就是非呼吸15到20之间或脉搏50到70之间。用该逆否做 if 的判断就可以啦。

#include 

int main()
{
    int i, n, br, pl;
    char name[4];
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        scanf("%s %d %d", name, &br, &pl);
        if (!(br <= 20 && br >= 15)||!(pl <= 70 && pl >= 50))
            printf("%s\n", name);
    }
    return 0;
}

自己试着不要看把代码码出来哦,测试样例可以直接复制,加油小伙汁小改改,为了更美好的未来呢~~~

你可能感兴趣的:(团体程序设计天梯赛-练习集)