c++关于求方差、标准差的问题,求解答!
为什么我计算结果中,方差、标准差的结果总是0?程序代码:#include<iostream>#include<cstdio>#include<cstdlib>#inclu...
为什么我计算结果中,方差、标准差的结果总是0?
程序代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
using namespace std;
const int MAXN=1001;s
int main()
{
int n,x[MAXN],o=0;
float xba,s=0;
float p[MAXN]={0},k[MAXN]={0};
printf("请输入计算的个数,最多1000个");
cout<<endl;
cin>>n;
if(n>1000)
{
cout<<"Error.";
system("pause");
return 0;
}
cout<<"请依次输入各个数"<<endl;
for(int i=1;i<=n;i++)
{
cin>>x[n];
o+=x[n];
}
xba=o/n;
cout<<"平均数:"<<xba<<endl;
for(int j=1;j<=n;j++)
{
k[j]+=(x[j]-xba);
}
for(int z=1;z<=n;z++)
{
p[z]=(1/n*(pow(k[z],2)));
p[0]+=p[z];
}
cout<<"方差:"<<p[0]<<endl;
s=sqrt(p[0]);
cout<<"标准差:"<<s<<endl;
system("pause");
return 0;
}
求解答!
如果有答案,并测试成功的,必给重赏!!! 展开
程序代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
using namespace std;
const int MAXN=1001;s
int main()
{
int n,x[MAXN],o=0;
float xba,s=0;
float p[MAXN]={0},k[MAXN]={0};
printf("请输入计算的个数,最多1000个");
cout<<endl;
cin>>n;
if(n>1000)
{
cout<<"Error.";
system("pause");
return 0;
}
cout<<"请依次输入各个数"<<endl;
for(int i=1;i<=n;i++)
{
cin>>x[n];
o+=x[n];
}
xba=o/n;
cout<<"平均数:"<<xba<<endl;
for(int j=1;j<=n;j++)
{
k[j]+=(x[j]-xba);
}
for(int z=1;z<=n;z++)
{
p[z]=(1/n*(pow(k[z],2)));
p[0]+=p[z];
}
cout<<"方差:"<<p[0]<<endl;
s=sqrt(p[0]);
cout<<"标准差:"<<s<<endl;
system("pause");
return 0;
}
求解答!
如果有答案,并测试成功的,必给重赏!!! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询