#include<bits/stdc++.h>
using namespace std;
int main(){
int n;//表示要处理的整数个数
scanf("%d",&n);
double a[n];//定义一个双精度浮点数组a,用于存储要输入的数字
double avr=0;//初始化双精度浮点变量avr,用于存储输入数字的平均数,初始化为0
double D=0;//初始化双精度浮点变量D,用于存储输入数字的方差,初始化为0
double b[n];//定义双精度浮点数组b,用于存储归一化处理结果
for(int i=0;i<n;i++){
scanf("%lf",&a[i]);//依次输入n个整数
avr+=a[i]/n;//求出这些整数的平均值,存储到avr中
}
for(int i=0;i<n;i++){//遍历整个数组a中的所有元素
D+=pow(a[i]-avr,2)/n;//求出方差存储到数组D中,pow求平方
}
for(int i=0;i<n;i++){//遍历整个数组a中的所有元素
b[i]=(a[i]-avr)/sqrt(D);//求出归一化处理结果,存储到数组b中,sqrt求二次根号
}
for(int i=0;i<n;i++){
printf("%f\n",b[i]);//依次输出n个归一化处理结果
}
return 0;
}
CCF/CSP 202206-1 归一化处理 C++
最新推荐文章于 2024-08-05 17:54:35 发布