#include<stdio.h>
double fc (int *);
int i;
double m,j;
int main()
{ int a[10],p;
for(i=0,j=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0,j=0;i<10;i++)
j+=a[i];
m=j/10;
p=&a[10];
printf("%lf\n",fc(p));
return 0;
}
double fc (intp)
{ double z,m,q;
m=j/10;
for(q=0,i=0;i<10;i++,*p++)
q+=(p-m)(*p-m);
z=q/10;//方差
return z;
}
我觉得思路挺正确,不知道哪里的问题
修改处见注释,供参考:
#include<stdio.h>
double fc (int *);
int i;
double m,j;
int main()
{
int a[10],*p;
for(i=0,j=0;i<10;i++){
scanf("%d",&a[i]);
//for(i=0,j=0;i<10;i++)
j+=a[i];
}
m=j/10;
p=a; //p=&a[10];
printf("%lf\n",fc(p));
return 0;
}
double fc (int* p)
{
double z,q; // z,m,q;
//m=j/10;
for(q=0,i=0;i<10;i++,p++) //*p++
q+=(*p-m)*(*p-m);
z=q/10;//方差
return z;
}