题目:
在统计学中,经常需要统计一组数据的均值和方差。
均值的定义为,方差的定义为。
设计一个函数,对给定的一组数据返回它们的均值和方差。
代码:
#include <iostream>
using namespace std;
void function(double a[], int n, double *average, double *variance);
int main()
{
int n;
double average = 0, variance = 0;
cout << "统计一组数据的均值和方差" << endl << endl;
cout << "请输入这组数据的个数:";
cin >> n;
double *a = new double[n];
cout << "请逐个输入这组数据:";
for (int i = 0; i < n; ++i) cin >> a[i];
function(a, n, &average, &variance);
cout << endl << "这组数据的均值为" << average << " , 方差为" << variance << endl << endl;
system("pause");
return 0;
}
void function(double a[], int n, double *average, double *variance)
{
int i;
double sum = 0;
for (i = 0; i < n; ++i) sum = sum + a[i];
*average = sum / n;
sum = 0; //重用sum
for (i = 0; i < n; ++i) sum = sum + (a[i] - *average)*(a[i] - *average);
*variance = sum / n;
}