NOI的1.9.8白细胞计数
描述
医院采样了某临床病例治疗期间的白细胞数量样本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白细胞计数相关推荐
- 信息学奥赛一本通 1114:白细胞计数 | OpenJudge NOI 1.9 08
[题目链接] ybt 1114:白细胞计数 OpenJudge NOI 1.9 08:白细胞计数 [题目考点] 1. 求数组中最大值及其下标 方法1:保存最大值和下标 设置临时最大值变量mx,mx的初 ...
- NOI/1.9.8 白细胞计数(用list求解)
总时间限制: 1000ms 内存限制: 65536kB 描述 医院采样了某临床病例治疗期间的白细胞数量样本n份,用于分析某种新抗生素对该病例的治疗效果.为了降低分析误差,要先从这n份样本 ...
- 1.9 编程基础之顺序查找 08 白细胞计数 python
http://noi.openjudge.cn/ch0109/08/ """ 1.9 编程基础之顺序查找 08 白细胞计数 http://noi.openjudge.cn ...
- 【OpenJudge NOI】题解目录
[OpenJudge NOI]题解目录 OJ链接:OpenJudge NOI 以下为本人做的OJ题解 针对每一道题我都会给出题目考点.解题思路.题解代码.必要时也会给出不同的解题方法. 如有不足之处, ...
- 电子学会 C语言 2级 10 、白细胞计数
1.9编程基础之顺序查找_08白细胞计数 OpenJudge - 08:白细胞计数 C++参考代码一: /* 1.9编程基础之顺序查找_08白细胞计数01 http://noi.openjudge.c ...
- OI模板大全(普及~省选NOI)
整理的算法模板合集: ACM模板 hhh刚从某位大佬的洛谷首页偷到了一个好玩的东西 大佬在这儿 自己对照了一下原来我还有这么多东西没有学呜呜呜我好菜 普及- 模板大全续表续表A并查集A快速幂-取余运算 ...
- 【noi 2.5_7834】分成互质组(dfs)
有2种dfs的方法: 1.存下每个组的各个数和其质因数,每次对于新的一个数,与各组比对是否互质,再添加或不添加入该组. 2.不存质因数了,直接用gcd,更加快.P.S.然而我不知道为什么RE,若有好心 ...
- 月薪 5 万清华姚班 NOI 金牌得主在线征友被群嘲,当代互联网相亲有多难
整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 近日,山西某网友在豆瓣发布征友帖掀起了轩然大波,一些网友对其进行了无情的谩骂和侮辱,有网友评价其"精神贫瘠" ...
- NOI.AC NOIP模拟赛 第六场 游记
NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...
最新文章
- EngineRoot是在哪里定义的?
- Linux系统下使用桥接模式,无法ping通外网解决问题方案!
- MySQL高性能优化规范建议
- 图解SQLite教程
- 梯度下降和随机梯度下降为什么能下降?
- BZOJ 4247 挂饰 背包DP
- 在Windows运行Python程序
- 最新有道翻译接口JS逆向分析
- svg Path 命令详解
- OpenCasCade – 贴纹理
- 【物联网控制技术】--第一章--【自动控制】【反馈控制】【调节过程】【系统要求】【典型的外部输入信号】
- 遗传算法matlab_【优化求解】遗传算法解决背包问题
- JAVA习题001--产生多个随机数并使用冒泡排序将数字从小到大排序
- 【雅思口语】安娜口语学习记录 Part2
- android 系统自带的软件可以删除列表--Defy
- 华南理工大学数学专业考研试题参考解答
- 基于Android平台实现人脸识别
- windows查看密码工具
- HashMap中的Hash码怎么计算,为什么要这样做?
- 镇魂街武神躯怎么修改服务器,镇魂街武神躯怎么重置守护灵