题目
代码
注意输出精度,小数保留16位
使用fixed和setprecision控制输出格式
#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int n;
double a[N];
double average,D,f[N];
int main()
{
cin>>n;
//计算平均值
double sum=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
sum+=a[i];
}
average=sum/n;
//计算方差
double sum1=0;
for(int i=1;i<=n;i++)
{
double m=0;
m=pow(a[i]-average,2);
sum1+=m;
}
D=sum1/n;
//归一化处理
for(int i=1;i<=n;i++)
{
double k=a[i]-average;
double c=pow(D,0.5);
f[i]=k/c;
}
for(int i=1;i<=n;i++)
{
//printf("%.16f\n",f[i]);
cout << fixed << setprecision(16);//控制输出小数位
cout<<f[i]<<endl;
}
return 0;
}