【题目链接】
ybt 1399:甲流病人初筛
OpenJudge NOI 1.12 03:甲流病人初筛
【题目考点】
1. 函数
2. 计数
【题解代码】
解法1:写函数判断一个人是不是初筛的甲流病人
写函数完成,可以使代码语义比较清晰。
假设现在在做应用,如果甲方要修改初筛甲流病人的条件(比如体温条件改为38度以上),直接在函数里修改就好了,不用动主函数。这就是结构化编程(使用函数)的优点。
#include<bits/stdc++.h>
using namespace std;
bool isPatient(double temperature, bool isCough)//根据体温和是否咳嗽,判断该人是不是初筛的甲流病人
{
if(temperature >= 37.5 && isCough)
return true;
else
return false;
}
int main()
{
double temperature;
bool isCough;
int n, ct = 0;//ct:计数
char name[105];
cin >> n;
for(int i = 1; i <= n; ++i)
{
cin >> name >> temperature >> isCough;
if(isPatient(temperature, isCough))//如果这个温度和是否咳嗽满足他是初筛甲流病人的条件
{
cout << name << endl;//输出人名
ct++;//计数
}
}
cout << ct;//输出总人数
return 0;
}
解法2:不使用函数
#include<bits/stdc++.h>
using namespace std;
int main()
{
double temperature;
bool isCough;
int n, ct = 0;//ct:计数
char name[105];
cin >> n;
for(int i = 1; i <= n; ++i)
{
cin >> name >> temperature >> isCough;
if(temperature >= 37.5 && isCough)//如果这个温度和是否咳嗽满足他是初筛甲流病人的条件
{
cout << name << endl;//输出人名
ct++;//计数
}
}
cout << ct;//输出总人数
return 0;
}