当前编程题:实验一 简单计算问题(16级)---化验诊断 |
9. |
问题描述
下表是进行血常规检验的正常值参考范围,及化验值异常的临床意义:
给定一张化验单,判断其所有指标是否正常,如果不正常,统计有几项不正常。化验单上的值必须严格落在正常参考值范围内,才算是正常。正常参考值范围包括边界,即落在边界上也算正常。
输入形式
输出形式
对于每组测试数据,输出一行。如果所有检验项目正常,则输出:normal;否则输出不正常的项的数目。
样例输入
2
female 4.5 4.0 115 37 200
male 3.9 3.5 155 36 301
样例输出
normal
3
#include<stdio.h> #include<string.h> struct CHA { char sex[10]; float c1,c2; int c3,c4,c5,num; }jian[100]; void chuli(struct CHA *sb) { if(sb->c1<4||sb->c1>10) sb->num++; if(sb->c2<3.5||sb->c2>5.5) sb->num++; if(strcmp(sb->sex,"male")==0) { if(sb->c3<120||sb->c3>160) sb->num++; if(sb->c4<42||sb->c4>48) sb->num++; } else { if(sb->c3<110||sb->c3>150) sb->num++; if(sb->c4<36||sb->c4>40) sb->num++; } if(sb->c5<100||sb->c5>300) { sb->num++; } } int main() { int n,i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s",jian[i].sex); scanf("%f%f",&jian[i].c1,&jian[i].c2); scanf("%d%d%d",&jian[i].c3,&jian[i].c4,&jian[i].c5); jian[i].num=0; chuli(&jian[i]); if(jian[i].num==0) printf("normal\n"); else printf("%d\n",jian[i].num); } return 0; } |