团体程序设计天梯赛——L1-047 装睡
https://pintia.cn/problem-sets/994805046380707840/problems/994805083282194432
你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。
输入格式:
输入在第一行给出一个正整数N(≤10)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的串)、其呼吸频率和脉搏(均为不超过100的正整数)。
输出格式:
按照输入顺序检查每个人,如果其至少一项指标不在正常范围内,则输出其名字,每个名字占一行。
输入样例:
4
Amy 15 70
Tom 14 60
Joe 18 50
Zoe 21 71
输出样例:
Tom
Zoe
不知道为啥,我用cin连续输入name[i],huxi[i],maibo[i]的时候呼吸和脉搏的数据读入的和输入的不一样,于是我就用了scanf语句,然后用flag[n]数组标志是否装睡,最后输出装睡的人的姓名。
#include<iostream>
#include<string>
using namespace std;
int main(){
int n;
cin>>n;
string name[n];
int huxi[n],maibo[n],flag[n]={0};
for(int i=0;i<n;i++){
cin>>name[i];
scanf("%d %d",&huxi[i],&maibo[i]);
if(huxi[i]<15||huxi[i]>20)
flag[i]=1;
if(maibo[i]<50||maibo[i]>70)
flag[i]=1;
}
for(int i=0;i<n;i++){
if(flag[i]==1)
cout<<name[i]<<endl;
}
}