POJ 2680 化学诊断

时间限制: 
1000ms
内存限制: 
65536kB
描述
下表是进行血常规检验的正常值参考范围,及化验值异常的临床意义:


给定一张化验单,判断其所有指标是否正常,如果不正常,统计有几项不正常。化验单上的值必须严格落在正常参考值范围内,才算是正常。正常参考值范围包括边界,即落在边界上也算正常。
输入
输出
对于每组测试数据,输出一行。如果所有检验项目正常,则输出:normal;否则输出不正常的项的数目。
样例输入
2
female 4.5 4.0 115 37 200
male 3.9 3.5 155 36 301
样例输出
normal
3
 
(1)、源代码:
#include <iostream>
#include <cstring>
#include <string>
 
using namespace std;
 
int main()
{
                int i, j;
                int k;
                string gender;
                double wbc, rbc, hgb, hct, plt;
                int num = 0;
 
                cin >> k;
                for(i = 0; i < k; i++)
                {
                                cin >> gender >> wbc >> rbc >> hgb >> hct >> plt;
                                if(wbc < 4.0 || wbc >10.0)
                                                num++;
                                if(rbc < 3.5 || rbc > 5.5)
                                                num++;
                                if(gender == "male")
                                {
                                                if(hgb < 120 || hgb > 160)
                                                                num++;
                                                if(hct < 42 || hct > 48)
                                                                num++;
                                }
                                else if(gender == "female")
                                {
                                                if(hgb < 110 || hgb > 150)
                                                                num++;
                                                if(hct < 36 || hct > 40)
                                                                num++;
                                }
                                if(plt < 100 || plt > 300)
                                                num++;
                                if(num == 0)
                                                cout << "normal" << endl;
                                else
                                                cout << num << endl;
                                num = 0;
                }
                return 0;
}
 
(2)、解题思路:略
(3)、出错原因:略。
 
 
 
 
posted on 2012-05-02 21:56  谷堆旁边  阅读(388)  评论(0编辑  收藏  举报