
#include<math.h>
void main()
{
int i,N=4
float sum1=0.0,sum2=0.0
float average,variance
float a[4]
for(i=0i<Ni++)
scanf("%f",&a[i])
for(i=0i<Ni++)
sum1+=a[i]
average=sum1/N
printf("均值=%f\n",average)
for(i=0i<Ni++)
sum2+=(a[i]-average)*(a[i]-average)
variance=sum2/N
printf("方差=%f\n",variance)
printf("均方差=%f\n",sqrt(variance))
}
你要求几个数,帮N=4改成N=?以及下面的4改成?就可以了!!!
}
/*由于时间缘故,没有增加对输入数据的检查*/#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#define N 10/*暂定最多计算10个数的均方差,可根据实际修改该数*/
main()
{
float d[N],fsum,avg,temp
char str[10]
int i,j,num
printf("\n请输入不多于%d的数字:输入‘Y’或‘y’结束",N)
fsum=0.0num=0
for(i=0i<Ni++)
{
printf("\nNO.%d : ",i+1)
scanf("%s",str)
if(stricmp(str,"y")==0)break
d[i]=(float)atof(str)
fsum+=d[num++]
}
avg=fsum/num
fsum=0.0
for(i=0i<numi++)
{
temp=d[i]-avg
fsum+=temp*temp
}
fsum=sqrt(fsum/num)
printf("Standard Deviation:%f",fsum)
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)