|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题是装睡问题,寒假没打代码,现在忘了,出了问题不知道怎么回事
7-3 装睡 (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>
int main()
{
int h,m,i,n;
char name[10];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d %d",&name,&h,&m);
if(h<15||h>20||m<50||m>70)
printf("%s",name);
}
return 0;
}
上面一份是我打的横线部分是问题所在,我不知道给char数组赋值还需要&吗,因为下面这个
#include<cstdio>
using namespace std;
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
char name[4];
int b,p;
scanf("%s %d %d",name,&b,&p);
if(b<15||b>20||p<50||p>70)
printf("%s\n",name);
}
return 0;
}
他的横线部分甚至没有下标,到底该怎么用啊。
本帖最后由 jackz007 于 2019-3-2 11:26 编辑
name[] 的用法有误,已经修改,楼主可以参考下面的代码:
- #include <stdio.h>
- int main()
- {
- int h , m , i , n ;
- char name[10] ;
- scanf("%d" , & n) ;
- for(i = 0 ; i < n ; i ++) {
- scanf("%s %d %d" , name , & h , & m) ; // name 本身就是 & name[0]
- if(h < 15 || h > 20 || m < 50 || m > 70) printf("%s\n" , name) ;
- }
- }
复制代码
|
|