满意答案
#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;
}
00分享举报