文章目录
程序代码
问题
程序代码
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
int n;
cin>>n;
int*a=new int[n];
double Da=0.0,sum=0.0;//如果将sum整形处理的话将会影响后面的精确处理。
double *b=new double[n];
double average=0.0;
for(int i=0;i<n;i++)
{
cin>>a[i];
sum+=a[i];
}
average=sum/n;//平均值
sum=0.0;
//方差Da;
for(int i=0;i<n;i++)
{
sum+=pow(a[i]-average,2);//pow(n,m),n的m次;
}
Da=sum/n;
Da=sqrt(Da);
//遍历数据并进行归一化结算
for(int i=0;i<n;i++)
{
b[i]=(a[i]-average)/Da;
printf("%.16f",b[i]);//如果用cout,只会输出四位精确数字最好还是printf("%f",double x);
cout<<endl;
}
}
运行结果:
有问题,请指正,谢谢大家!