【程序作用】
计算总和、最大值、最小值、平均数、中位数、众数、极差、方差、标准差
【程序优点】
计算快、准、精
快速完成计算
基本不会出现错误
精确到小数点后4位
【适用系统】
Windows7及以上/Mac os
上代码
#include<bits/stdc++.h>
using namespace std;
int n;
double f[1000001];
double a[10001];
double average,median,mode,minn=999999999,maxn=-1;//平均数,中位数,众数
double range,variance,standard_deviation;//极差,方差,标准差
double sum=0;
int main(){
while(1){
int i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%lf",&a[i]);
minn=min(minn,a[i]);
maxn=max(maxn,a[i]);
sum+=a[i];
}
//average,median,mode
average=double(sum/n);//average
sort(a+0,a+n);
if(n%2==1) median=a[(n+1)/2];
else median=(a[n/2]+a[n/2+1])/2;//median
int cnt=0,max_num=-1;
for(i=0;i<n;i++){
int num;
f[cnt++]=a[i];
for(j=0;j<cnt;j++)
if(f[j]==a[i]) num++;
if(max_num<num){
mode=a[i];
max_num=num;
}
}//mode
//range,variance,standard_deviation
range=maxn-minn;//range
for(i=0;i<n;i++) variance+=(average-a[i])*(average-a[i]);
variance/=n;//variance
standard_deviation=sqrt(variance);//standard_deviation
//print
printf("排序结果:");
for(i=0;i<n;i++) printf("%.3lf ",a[i]);
printf("\n");
printf(" 最大值: %.3lf\n",maxn);
printf(" 最小值: %.3lf\n",minn);
printf(" 平均数: %.3lf\n",average);
printf(" 中位数: %.3lf\n",median);
printf(" 众 数: %.3lf\n",mode);
printf(" 极 差: %.3lf\n",range);
printf(" 方 差: %.3lf\n",variance);
printf(" 标准差: √%.3lf = %.8lf\n",variance,standard_deviation);
printf("\n\n");
}
return 0;
}