信息学奥赛一本通1399——甲流病人初筛

信息学奥赛一本通——甲流病人初筛

1399:甲流病人初筛

http://ybt.ssoier.cn:8088/problem_show.php?pid=1399

题目描述

目前正是甲流盛行时期,为了更好地进行分流治疗,医院在挂号时要求对病人的体温和咳嗽情况进行检查,对于体温超过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

水题一道

简单

代码

1. first第一种方法

#include<iostream>
using namespace std;
string a;
int main()
{
    int n,i,pd,s=0;
    float tem;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>a>>tem>>pd;
        if(tem>=37.5&&pd==1)
        {
            cout<<a<<endl;
            s++;
        }
    }
    cout<<s;
    return 0;
}
嗯,挺好的,只不过第一次少了一个,分号,好可怜啊,呜呜~~~

2. second 第二种方法

#include<iostream>
#include<string>
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;
}


用的是数组,呵呵~

发布了4 篇原创文章 · 获赞 1 · 访问量 84

猜你喜欢

转载自blog.csdn.net/weixin_43418868/article/details/105678385
今日推荐