编程计算平均值与标准差的一道题

来源:百度知道 编辑:UC知道 时间:2024/05/25 01:07:00
一道题是说,让用户输入10个双精度数值,然后计算它们的平均数与标准差。
之后要把所有偏离平均值4个标准差以上的数值显示出来,并且,再进一步计算中将这些数值放弃,计算新的平均数与标准差。。

请问第二问怎么做?要详细答案。。

你确定是4个标准差么...

以前我做东西的时候都是大于3个样本标准差.

#include <math.h>
#include <stdio.h>
#define N 10
#define K 3

double input[N];
double D,E;

void Calc ( int n )
{
D = E = 0;
for ( int i = 0; i < n; i++ )
{
E += input[i];
D += input[i] * input[i];
}
E = E / n;
D = D / n - E * E;
if ( D > 0 )
D = sqrt(D);
else
D = 0;
return;
}

int Filter( int n )
{
int tmp = n;
double d = K * D;
double k;
int modified = 0;
for ( int i = 0; i < tmp; i++ )
{
if ( fabs ( input[i] - E ) > d )
{
k = input[i];
input[i] = input[--tmp];
input[tmp] = k;
modified = 1;
printf ( "%lf\t", k );
}
}
printf ( "\n" );
return modified;
}

void Show( int n )
{
for ( int i