【题目描述】
目前正是甲流盛行时期,为了更好地进行分流治疗,医院在挂号时要求对病人的体温和咳嗽情况进行检查,对于体温超过37.5度(含等于37.5度)并且咳嗽的病人初步判定为甲流病人(初筛)。现需要统计某天前来挂号就诊的病人中有多少人被初筛为甲流病人。
【输入】
第一行是某天前来挂号就诊的病人数n。(n<200)
其后有n行,每行是病人的信息,包括三个信息:姓名(字符串,不含空格,最多8个字符)、体温(float)、是否咳嗽(整数,1表示咳嗽,0表示不咳嗽)。每行三个信息之间以一个空格分开。
【输出】
按输入顺序依次输出所有被筛选为甲流的病人的姓名,每个名字占一行。之后在输出一行,表示被筛选为甲流的病人数量。
【输入样例】
5
Zhang 38.3 0
Li 37.5 1
Wang 37.1 1
Zhao 39.0 1
Liu 38.2 1
【输出样例】
Li
Zhao
Liu
3
本体可以用函数,也可以用结构体
本人则更倾向于结构体
AC代码(结构体):
#include<iostream>
#include<cstdio>
using namespace std;
struct jl{
string name;
float temperature;
bool cough;
}a[20001];
int n,sum,i;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].name>>a[i].temperature>>a[i].cough;
if(a[i].temperature>=37.5&&a[i].cough==1)
{
sum++;
cout<<a[i].name<<"\n";
}
}
cout<<sum<<"\n";
return 0;
}
AC 函数:
#include<iostream>
#include<cstring>
using namespace std;
bool judge(float x,int y);
int main()
{
int n;
float temperature[201];
int cough[201];
string name[201];
int sum=0;
int i;
cin>>n;
for(i=1;i<=n;i++)
cin>>name[i]>>temperature[i]>>cough[i];
for(i=1;i<=n;i++)
if(judge(temperature[i],cough[i]))
{
cout<<name[i]<<endl;
sum++;
}
cout<<sum<<endl;
return 0;
}
bool judge(float x,int y)
{
if((x>=37.5)&&(y==1))
return true;
else
return false;}
最后还是求一个赞!!