Bailian2680 化验诊断【入门】

2680:化验诊断
总时间限制: 1000ms 内存限制: 65536kB
描述
下表是进行血常规检验的正常值参考范围,及化验值异常的临床意义:
在这里插入图片描述
给定一张化验单,判断其所有指标是否正常,如果不正常,统计有几项不正常。化验单上的值必须严格落在正常参考值范围内,才算是正常。正常参考值范围包括边界,即落在边界上也算正常。
输入
在这里插入图片描述
输出
对于每组测试数据,输出一行。如果所有检验项目正常,则输出:normal;否则输出不正常的项的数目。
样例输入
2
female 4.5 4.0 115 37 200
male 3.9 3.5 155 36 301
样例输出
normal
3
来源
计算概论05-模拟考试1

问题链接Bailian2680 化验诊断
问题描述:(略)
问题分析
    简单题不解释。需要注意基本技巧,数据放在数组中便于循环计算处理。
程序说明:(略)
参考链接:(略)
题记:(略)。

AC的C语言程序如下:

/* Bailian2680 化验诊断 */

#include <stdio.h>
#include <string.h>

#define N 5
char sex[8];
double a[N];
double low[2][N] = {{4.0, 3.5, 120, 42, 100}, {4.0, 3.5, 110, 36, 100}};
double high[2][N] = {{10.0, 5.5, 160, 48, 300}, {10.0, 5.5, 150, 40, 300}};

int main(void)
{
    int t, sum, k, i;
    scanf("%d", &t);
    while(t--) {
        scanf("%s", sex);
        for(i = 0; i < N; i++)
            scanf("%lf", &a[i]);

        k = (strcmp(sex, "female")==0 ? 1 : 0);
        sum = 0;
        for(i = 0; i < N; i++)
            if(a[i] < low[k][i] || a[i] > high[k][i])
                sum++;

        if(sum == 0)
            printf("normal\n");
        else
            printf("%d\n", sum);
    }

    return 0;
}

猜你喜欢

转载自www.cnblogs.com/tigerisland45/p/10188189.html