描述
-
下表是进行血常规检验的正常值参考范围,及化验值异常的临床意义:
给定一张化验单,判断其所有指标是否正常,如果不正常,统计有几项不正常。化验单上的值必须严格落在正常参考值范围内,才算是正常。正常参考值范围包括边界,即落在边界上也算正常。
输入
-
输出
-
对于每组测试数据,输出一行。如果所有检验项目正常,则输出:normal;否则输出不正常的项的数目。
样例输入
-
2
female 4.5 4.0 115 37 200
male 3.9 3.5 155 36 301
样例输出
-
normal
3
来源
-
计算概论05-模拟考试1
-
-
#include<stdio.h>
#include<string.h>
struct res{
char sex[10];
double num1,num2,num3,num4,num5;
int num;
}r[110];
int main(){
int k;
scanf("%d",&k);
for(int i=0;i<k;i++){
scanf("%s %lf %lf %lf %lf %lf",r[i].sex,&r[i].num1,&r[i].num2,&r[i].num3,&r[i].num4,&r[i].num5);
r[i].num=0;
if(r[i].num1>=4.0&&r[i].num1<=10.0) {
;
} else r[i].num++;
if(r[i].num2>=3.5&&r[i].num2<=5.5) {
;
} else r[i].num++;
if(strcmp(r[i].sex,"female")==0){
if(r[i].num3>=110&&r[i].num3<=150) {
;
} else r[i].num++;
if(r[i].num4>=36&&r[i].num4<=40) {
;
} else r[i].num++;
}
else {
if(r[i].num3>=120&&r[i].num3<=160) {
;
} else r[i].num++;
if(r[i].num4>=42&&r[i].num4<=48) {
;
} else r[i].num++;
}
if(r[i].num5>=100&&r[i].num5<=300) {
;
} else r[i].num++;
}
for(int i=0;i<k;i++){
if(r[i].num==0) printf("normal\n");
else
printf("%d\n",r[i].num);
}
}