天天看点

Bailian2680 化验诊断【入门】

输出

对于每组测试数据,输出一行。如果所有检验项目正常,则输出: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, cnt, 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);
        cnt = 0;
        for(i = 0; i < N; i++)
            if(a[i] < low[k][i] || a[i] > high[k][i])
                cnt++;

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

    return 0;
}
           

继续阅读