用以下代码实现输出平均数、中位数、极差、方差和标准差:(给数学作业偷懒)
#include <bits/stdc++.h>
#define full 300000001
using namespace std;
unsigned int n;
double x[full],minn(1e6),maxn(-1e6),sum,bar;
double solve_variance()
{
unsigned int i;
double f=0;
for(i=1;i<=n;i++) f+=(x[i]-bar)*(x[i]-bar);
return f/n;
}
int main()
{
//统计助手1.0
unsigned int i;
scanf("%u",&n);
for(i=1;i<=n;i++)
{
scanf("%lf",&x[i]);
minn=min(minn,x[i]);
maxn=max(maxn,x[i]);
sum+=x[i];
}
sort(x+1,x+n+1);
printf("************\n");
bar=sum/n;
printf("平均数 : %lf\n",bar);
if (n%2==0) printf("中位数 : %lf\n",(x[n/2]+x[n/2+1])/2);
else printf("中位数 : %lf\n",x[n/2]);
printf("暂不支持众数!\n");
printf("************\n");
printf("极差 : %lf\n",maxn-minn);
double d=solve_variance();
printf("方差 : %lf\n",d);
printf("标准差 : %lf\n",sqrt(d));
}
报了编译错误,球拍搓