描述
医院采样了某临床病例治疗期间的白细胞数量样本n份,用于分析某种新抗生素对该病例的治疗效果。为了降低分析误差,要先从这n份样本中去除一个数值最大的 样本和一个数值最小的样本,然后将剩余n-2个有效样本的平均值作为分析指标。同时,为了观察该抗生素的疗效是否稳定,还要给出该平均值的误差,即所有有 效样本(即不包括已扣除的两个样本)与该平均值之差的绝对值的最大值。

现在请你编写程序,根据提供的n个样本值,计算出该病例的平均白细胞数量和对应的误差。

输入
输入的第一行是一个正整数n(2 < n <= 300),表明共有n个样本。
以下共有n行,每行为一个浮点数,为对应的白细胞数量,其单位为10^9/L。数与数之间以一个空格分开。
输出
输出为两个浮点数,中间以一个空格分开。分别为平均白细胞数量和对应的误差,单位也是10^9/L。计算结果需保留到小数点后2位。
样例输入
5
12.0
13.0
11.0
9.0
10.0
样例输出
11.00 1.00
提示
为避免浮点精度误差过大,请使用double类型。

分析:

因为最大值和最小值的个数可能不止一个,所以我们分情况进行讨论,但是题中却只是去掉一个最大值和一个最小值,我们可以将第一次出现的最大值和最小值用ans(平均值)进行替换,然后进行误差的求解;

解法:

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in=new Scanner(System.in);int n=in.nextInt();double a[]=new double[n];for(int i=0;i<n;i++) {a[i]=in.nextDouble();}double max=a[0],min=a[0],sum=0;for(int i=0;i<n;i++) {if(max<a[i]) {max=a[i];}if(min>a[i]) {min=a[i];}sum=sum+a[i];}double ans=(sum-min-max)/(n-2);double max1=0;//将其中一个最大值和最小值用ans进行填充for(int i=0;i<n;i++) {if(a[i]==max) {a[i]=ans;break;}}for(int i=0;i<n;i++) {if(a[i]==min) {a[i]=ans;break;}}for(int i=0;i<n;i++) {if(max1<Math.abs(a[i]-ans)) {//此处的max1也为Math.abs(a[i]-ans)max1=Math.abs(a[i]-ans);}}System.out.printf("%.2f",ans);System.out.print(" ");System.out.printf("%.2f",max1);}
}

NOI的1.9.8白细胞计数相关推荐

  1. 信息学奥赛一本通 1114:白细胞计数 | OpenJudge NOI 1.9 08

    [题目链接] ybt 1114:白细胞计数 OpenJudge NOI 1.9 08:白细胞计数 [题目考点] 1. 求数组中最大值及其下标 方法1:保存最大值和下标 设置临时最大值变量mx,mx的初 ...

  2. NOI/1.9.8 白细胞计数(用list求解)

    总时间限制: 1000ms        内存限制: 65536kB 描述 医院采样了某临床病例治疗期间的白细胞数量样本n份,用于分析某种新抗生素对该病例的治疗效果.为了降低分析误差,要先从这n份样本 ...

  3. 1.9 编程基础之顺序查找 08 白细胞计数 python

    http://noi.openjudge.cn/ch0109/08/ """ 1.9 编程基础之顺序查找 08 白细胞计数 http://noi.openjudge.cn ...

  4. 【OpenJudge NOI】题解目录

    [OpenJudge NOI]题解目录 OJ链接:OpenJudge NOI 以下为本人做的OJ题解 针对每一道题我都会给出题目考点.解题思路.题解代码.必要时也会给出不同的解题方法. 如有不足之处, ...

  5. 电子学会 C语言 2级 10 、白细胞计数

    1.9编程基础之顺序查找_08白细胞计数 OpenJudge - 08:白细胞计数 C++参考代码一: /* 1.9编程基础之顺序查找_08白细胞计数01 http://noi.openjudge.c ...

  6. OI模板大全(普及~省选NOI)

    整理的算法模板合集: ACM模板 hhh刚从某位大佬的洛谷首页偷到了一个好玩的东西 大佬在这儿 自己对照了一下原来我还有这么多东西没有学呜呜呜我好菜 普及- 模板大全续表续表A并查集A快速幂-取余运算 ...

  7. 【noi 2.5_7834】分成互质组(dfs)

    有2种dfs的方法: 1.存下每个组的各个数和其质因数,每次对于新的一个数,与各组比对是否互质,再添加或不添加入该组. 2.不存质因数了,直接用gcd,更加快.P.S.然而我不知道为什么RE,若有好心 ...

  8. 月薪 5 万清华姚班 NOI 金牌得主在线征友被群嘲,当代互联网相亲有多难

    整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 近日,山西某网友在豆瓣发布征友帖掀起了轩然大波,一些网友对其进行了无情的谩骂和侮辱,有网友评价其"精神贫瘠" ...

  9. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

最新文章

  1. EngineRoot是在哪里定义的?
  2. Linux系统下使用桥接模式,无法ping通外网解决问题方案!
  3. MySQL高性能优化规范建议
  4. 图解SQLite教程
  5. 梯度下降和随机梯度下降为什么能下降?
  6. BZOJ 4247 挂饰 背包DP
  7. 在Windows运行Python程序
  8. 最新有道翻译接口JS逆向分析
  9. svg Path 命令详解
  10. OpenCasCade – 贴纹理
  11. 【物联网控制技术】--第一章--【自动控制】【反馈控制】【调节过程】【系统要求】【典型的外部输入信号】
  12. 遗传算法matlab_【优化求解】遗传算法解决背包问题
  13. JAVA习题001--产生多个随机数并使用冒泡排序将数字从小到大排序
  14. 【雅思口语】安娜口语学习记录 Part2
  15. android 系统自带的软件可以删除列表--Defy
  16. 华南理工大学数学专业考研试题参考解答
  17. 基于Android平台实现人脸识别
  18. windows查看密码工具
  19. HashMap中的Hash码怎么计算,为什么要这样做?
  20. 镇魂街武神躯怎么修改服务器,镇魂街武神躯怎么重置守护灵

热门文章

  1. http与Socket区别
  2. 如何关闭win10自带杀毒?
  3. OpenWrt开发必备软件模块——系统总线ubus
  4. 虚拟现实房产展示系统提前预见未来装修效果
  5. HTML中让整个效果居中,仅使用CSS做到完全居中的超级攻略
  6. squid代理及加速(理论加案例篇)
  7. 室友利用一把王者的时间就学会了【C语言结构体内存对齐】
  8. miui11升级鸿蒙,这就是MIUI 11的升级机型名单?还挺给力!
  9. 六一快乐!管她几岁,快乐万岁!
  10. 面试关于网络的那些事