下表是进行血常规检验的正常值参考范围,及化验值异常的临床意义:
血常规检验正常值参考范围列表
给定一张化验单,判断其所有指标是否正常,如果不正常,统计有几项不正常。化验单上的值必须严格落在正常参考值范围内,才算是正常。正常参考值范围包括边界,即落在边界上也算正常。
输入格式:
输入的第一行包含一个正整数k(0 < k < 100),表示有k组测试数据;接下来k行,每行包含一组测试数据。每组测试数据第一项是一个英文单词(male,男或者female,女),表示受测者的性别;第二项是白细胞的值(以109/L为单位);第三项是红细胞的值(以1012/L为单位);第四项是血红蛋白的值(以g/L为单位);第五项是红细胞比积的值(以%为单位);第六项是血小板计数的值(以109/L为单位)。每两项用一个空格分开。
输出格式:
对于每组测试数据,输出一行。如果所有检验项目正常,则输出:normal;否则输出不正常的项的数目。
输入样例:
2
female 4.5 4.0 115 37 200
male 3.9 3.5 155 36 301
输出样例:
normal
3
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include<stdio.h>
#include<string.h>
int main()
{
int k,i;
scanf("%d",&k);
char sex[7];
float bai,hong,xuehong,biji,xuexiaoban;
for(i=0;i<k;i++)
{
int count=0;
scanf("%s %f %f %f %f %f",sex,&bai,&hong,&xuehong,&biji,&xuexiaoban);
if(strcmp("female",sex)==0)
{
if(bai<4.0||bai>10.0) count=count+1;
if(hong>5.5||hong<3.5) count+=1;
if(xuehong>150||xuehong<110) count+=1;
if(biji>40||biji<36) count+=1;
if(xuexiaoban>300||xuexiaoban<100) count+=1;
}
else
{
if(bai<4.0||bai>10.0) count+=1;
if(hong>5.5||hong<3.5) count+=1;
if(xuehong>160||xuehong<120) count+=1;
if(biji>48||biji<42) count+=1;
if(xuexiaoban>300||xuexiaoban<100) count+=1;
}
if(count==0) printf("normal\n");
else printf("%d\n",count);
}
return 0;
}