描述
输入n个实数,将数据归一化,并输入。归一化是指,对每一个数x,按公式(x-min)/(max-min)进行转换,其中min为这组数中的最小者,max为最大者。
输入
输入正整数n(n<50)以及n个实数。
输出
输出归一化后的每个数,保留三位小数。
输入样例 1
3
2.3 3.2 4.3
输出样例 1
0.000 0.450 1.000
用c语言表达
这是我答案,请问哪里错了
#include <stdio.h>
int main()
{
int n,i;
double a[51],min=0,max=0;
scanf("%d",&n);
for(i=0;i<=n;i++)
{
scanf("%lf",&a[i]);
if(i==0){
max=a[0];
min=a[0];
}else{
if(a[i]>=max)
{
max=a[i];
}
if(a[i]<=min){
min=a[i];
}
}
}
for(i=0;i<n;i++){
printf("%.3lf ",(a[i]-min)/(max-min));
if(i!=n-1){
printf(" ");
}
}
return 0;
}