信息学奥赛一本通(1399:甲流病人初筛)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1399:甲流病人初筛)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1399:甲流病人初篩
時(shí)間限制: 1000 ms ??? ??? 內(nèi)存限制: 65536 KB
提交數(shù): 16603 ??? 通過數(shù): 9852
【題目描述】
目前正是甲流盛行時(shí)期,為了更好地進(jìn)行分流治療,醫(yī)院在掛號(hào)時(shí)要求對(duì)病人的體溫和咳嗽情況進(jìn)行檢查,對(duì)于體溫超過37.5度(含等于37.5度)并且咳嗽的病人初步判定為甲流病人(初篩)。現(xiàn)需要統(tǒng)計(jì)某天前來掛號(hào)就診的病人中有多少人被初篩為甲流病人。
【輸入】
第一行是某天前來掛號(hào)就診的病人數(shù)n。(n<200)
其后有n行,每行是病人的信息,包括三個(gè)信息:姓名(字符串,不含空格,最多8個(gè)字符)、體溫(float)、是否咳嗽(整數(shù),1表示咳嗽,0表示不咳嗽)。每行三個(gè)信息之間以一個(gè)空格分開。
【輸出】
按輸入順序依次輸出所有被篩選為甲流的病人的姓名,每個(gè)名字占一行。之后在輸出一行,表示被篩選為甲流的病人數(shù)量。
【輸入樣例】
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】
#include <stdio.h> #define N 201 double temperature[N]; int cough[N]; char name[N][N]; int judge(double x,int y) {if((x>=37.5)&&(y==1))return 1;elsereturn 0; } int main() {int n,sum=0,i;scanf("%d",&n);for(i=1;i<=n;i++)scanf("%s %lf %d",&name[i],&temperature[i],&cough[i]);for(i=1;i<=n;i++){if(judge(temperature[i],cough[i])){printf("%s\n",name[i]);sum++;}}printf("%d\n",sum);return 0; }【參考代碼2】
#include <stdio.h> #define N 210 struct node {char name[N]; //姓名 double temp; //溫度 int cf; //是否咳嗽 int flag; //是否患者 }pat[N];int main() {int i,n,cnt=0;scanf("%d",&n);getchar();for(i=0;i<n;i++){scanf("%s %lf %d",pat[i].name,&pat[i].temp,&pat[i].cf);if(pat[i].temp>=37.5 && pat[i].cf==1){pat[i].flag=1;cnt++;}elsepat[i].flag=0; }for(i=0;i<n;i++){if(pat[i].flag==1) printf("%s\n",pat[i].name);}printf("%d\n",cnt);return 0; }http://ybt.ssoier.cn:8088/problem_show.php?pid=1399
?
總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通(1399:甲流病人初筛)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1397:简单算术表达
- 下一篇: 信息学奥赛一本通(1190:上台阶)