1114:白细胞计数
時(shí)間限制: 1000 ms 內(nèi)存限制: 65536 KB
提交數(shù): 12878 通過(guò)數(shù): 4298
【題目描述】
醫(yī)院采樣了某臨床病例治療期間的白細(xì)胞數(shù)量樣本n份,用于分析某種新抗生素對(duì)該病例的治療效果。為了降低分析誤差,要先從這n份樣本中去除一個(gè)數(shù)值最大的樣本和一個(gè)數(shù)值最小的樣本,然后將剩余n-2個(gè)有效樣本的平均值作為分析指標(biāo)。同時(shí),為了觀察該抗生素的療效是否穩(wěn)定,還要給出該平均值的誤差,即所有有效樣本(即不包括已扣除的兩個(gè)樣本)與該平均值之差的絕對(duì)值的最大值。
現(xiàn)在請(qǐng)你編寫(xiě)程序,根據(jù)提供的n個(gè)樣本值,計(jì)算出該病例的平均白細(xì)胞數(shù)量和對(duì)應(yīng)的誤差。
【輸入】
輸入的第一行是一個(gè)正整數(shù)n(2 <n≤ 300),表明共有n個(gè)樣本。
以下共有n行,每行為一個(gè)浮點(diǎn)數(shù),為對(duì)應(yīng)的白細(xì)胞數(shù)量,其單位為109/L。數(shù)與數(shù)之間以一個(gè)空格分開(kāi)。
【輸出】
輸出為兩個(gè)浮點(diǎn)數(shù),中間以一個(gè)空格分開(kāi)。分別為平均白細(xì)胞數(shù)量和對(duì)應(yīng)的誤差,單位也是109/L。計(jì)算結(jié)果需保留到小數(shù)點(diǎn)后2位。
【輸入樣例】
5
12.0
13.0
11.0
9.0
10.0
【輸出樣例】
11.00 1.00
【來(lái)源】
NO
代碼
#include <cstdio> #include <cmath> #include <iostream> using namespace std; int main() {int n;cin>>n;double people[n+1];people[0]=n;double max,max_x,min,min_x,sum=0.0;for(int i=1;i<=n;i++){cin>>people[i];if(i==1){max=people[1];min=people[1];}else{if(people[i]>max){max=people[i];max_x=i;}if(people[i]<min){min=people[i];min_x=i;}}sum+=people[i];}double average=(sum-max-min)/(n-2)*1.0;double error=0.0;int temp=0;for(int i=1;i<=n;i++){if(i==max_x||i==min_x) continue;if(abs(people[i]-average)>error) error=abs(people[i]-average);}printf("%.2lf %.2lf",average,error);return 0; }總結(jié)
以上是生活随笔為你收集整理的1114:白细胞计数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1113:不与最大数相同的数字之和
- 下一篇: 1116:最长平台