用指针传递参数,出错.
求方差,输入数全为1 ,查看1处a[1]为-9.2559592117432005e+061
<br>#include "stdafx.h"
<br>#include "stdio.h"
<br>#include "math.h"
<br>
<br>double fun(double *a,int *n)
<br>{
<br>double ave=0,s=0;
<br>int i;
<br>for(i=0;i<10;i++)
<br>{
<br>ave+=a; //1
<br>}
<br>ave/=10;
<br>for(i=0;i<10;i++)
<br>{
<br>double surp=a-ave;
<br>if(surp>0)n++;
<br>s+=pow(surp,2);
<br>}
<br>s/=10;
<br>s=sqrt(s);
<br>return s;
<br>}
<br>
<br>
<br>int _tmain(int argc, _TCHAR* argv[])
<br>{
<br>int i,n;
<br>double a[10],s;
<br>for(i=0;i<10;i++)
<br>{
<br>scanf("%d",&a);
<br>}
<br>s=fun(a,&n);
<br>printf("the variance is: %fnthe number of the students whose mark is more than averal is %dn",s,n);
<br>
<br>
<br>
<br>return 0;
<br>}

- 这是一篇来自百度知道的问题
|