遍历数组一遍求方差

根据方差公式 (其中m为数组均值),可以推出s^2= E(x^2) -(E(x))^2

所以可以通过一次遍历求数组方差

#include 

using namespace std;

double variance(double x[], int n) {
	double s1 = 0, s2 = 0;
	for(int i = 0; i < n; i++) {
		s1 += x[i]*x[i];
		s2 += x[i];
	}
	double quare = s1/n - (s2/n) * (s2/n);
	return quare;
}

int main() {
	double x[] = {4,4,5,5};
	double var = variance(x, 4);
	cout << "The variance of the array is: " << var << endl;	
	return 0;
} 



你可能感兴趣的:(笔试题)