C语言方差和标准差公式,C语言的一个方差问题
#include
#include
float fangcha(float *p,int u);
main()
{
float fangcha2;
int k=0;
int n;
float ve[20];
float *p=ve;
printf("说明\n");
for(n=0; n<20; n++) //当终端输入100时终止循环,统计出有多少个数
{
scanf("%f",(p+n)); //这里减1,没有意义,当n=0时 超出分配的内存,导致访问错误,主要错误就在这里
if (*(p+n)!=100) //这里改成这样,为了排出把100也计算在内
{
k++;
}
else
{
break;
}
}
fangcha2=fangcha(ve,k); //这里直接传递VE即可,无须再为p负值
printf("%f",fangcha2);
system("pause");
return 0;
}
float fangcha(float *p,int u)
{
int b;
float pingjun=0,fang=0,*pp=p;
for(b=0;b
pingjun+=*(p+b); //简化代码
p = pp; //注意书写格式,需要让人看得明白。
pingjun=pingjun/u;
for(b=0;b
fang=fang+(*(p+b)-pingjun)*(*(p+b)-pingjun);
fang=fang/u;
return fang;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
