c++编写程序,求输入的N个实数的方差

 思路:先求出元素的平均值,再求方差

#include<iostream>
#define N 5
using namespace std;
void show(double *p,int n)     //输出数组
{
    int i=0;
    for(i=0;i<n;i++){
        cout<<p[i]<<'\t';
    }
}
void f(double p[],int n,double &ave)       //求平均值
{
    int i;float s=0;
    for(i=0;i<n;i++)
    {
        s+=p[i];
    }
    ave=s/n;
}
float var(double p[],int n,double ave)      //计算方差
{
    int i;float s=0;
    for(i=0;i<n;i++)
    {
        s+=(p[i]-ave)*(p[i]-ave);
    }
    return  s;
}
int main()
{
    double a[N],ave,var0;
    int i;
    cout<<"输入"<<N<<"个数,将输入其方差\n";
    for(i=0;i<N;i++)cin>>a[i];
    cout<<"输入的数据为:\n";
    show(a,N);
    f(a,N,ave);
    cout<<"\n所输入"<<N<<"个元素的平均值为:"<<ave;
    var0=var(a,N,ave);
    cout<<"\n方差为:"<<var0<<endl;
    return 0;
}


版权声明:本文为Patrickzc原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。