m0_62954502 2021-10-23 08:37 采纳率: 50%
浏览 224
已结题

化验诊断,只学到数组

【问题描述】下表是进行血常规检验的正常值参考范围,及化验值异常的临床意义:

img

给定一张化验单,判断其所有指标是否正常,如果不正常,统计有几项不正常。化验单上的值必须严格落在正常参考值范围内,才算是正常。正常参考值范围包括边界,即落在边界上也算正常。
【输入形式】输入第一行包含一个正整数k(0<k<100),表示有k组测试数据;接下来k行,每行包含一组测试数据。每组测试数据第一项是一个英文单词(male·男·或者female·女),表示受测者性别;第二项是白细胞的值(以109/L为单位);第三项是红细胞的值(以1012/L为单位);第四项是血红蛋白(以g/L为单位);第五项是红细胞比积的值(以%为单位);第六项是血小板计数的值(以109/L为单位)。每两项用一个空格分开。

【输出形式】对于每组测试数据,输出一行。如果所有检验项目正常,则输出:normal;否则输出不正常的项的数目
【样例输入】

2
female 4.5 4.0 115 37 200
male 3.9 3.5 155 36 301
【样例输出】

normal
3
【样例说明】第一行输入2表示有两行数据,female的指标都正常,输出normal,male的第一项、第四项、第五项不正常,不正常项数为3,输出3.

  • 写回答

1条回答 默认 最新

  • GHOX 2021-10-25 12:54
    关注
    #include<cstdio>
    
    double a , b;
    
    int c , d , e;
    
    char named[10];
    
    int main()
    {
       int n;
       
       scanf("%d",&n);
           
       for(int i = 1 , ans = 0;i <= n;i ++ , ans = 0)
       {
           scanf("%s %lf %lf %d %d %d",named,&a,&b,&c,&d,&e);
    
           if(a < 4.0 or a > 10.0)
           
               ans ++;
               
           if(b < 3.5 or b > 5.5)
           
               ans ++;
               
           if(named[0] == 'm' and (c < 120 or c > 160))
           
               ans ++;
               
           if(named[0] == 'f' and (c < 110 or c > 150))
           
               ans ++;
               
           if(named[0] == 'm' and (d < 42 or d > 48))
           
               ans ++;
               
           if(named[0] == 'f' and (d < 36 or d > 40))
           
               ans ++;
               
           if(e < 100 or e > 300)
           
               ans ++;
               
           if(ans == 0) printf("normal\n");
           
           else printf("%d\n",ans);
       }
    }
    

    数组都不需要

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月23日

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制