如何用c++标准偏差?

来源:百度知道 编辑:UC知道 时间:2024/06/23 07:40:38
能力所限,现在只能写到循环输入n个数字,接下来要求这n个数字的标准差,该怎么写?能给详细的代码最好!!
想要用switch语句的,不要用if,或者while的……麻烦了哈
要输入很多个数据,不是要用到循环语句吗?等输完数据后再求标准差~

只需要直接输入n个数据,输入字符终止输入。输入的值就是标准偏差。
我已经处理过好几个物理实验的数据了,很好用。
以下是c++源码:
#include<iostream>
#include<cmath>
using namespace std;
float square(float x,float y)
{
return(x-y)*(x-y);
}
void main()
{
float a[20],s=0,average;
int i=0;
cout<<"请连续输入数据,输入字符停止输入"<<endl;
cin>>a[i];
while(cin)
{
s+=a[i];
i++;
cin>>a[i];
}
average=s/i;
float ss=0;
for(int j=0;j<i;j++)
{
ss+=square(a[j],average);
}
float sk=sqrt(ss/(float)(i-1));
//float skk=sqrt(ss/(float)(i)/(float)(i-1));
//平均值的标准偏差
cout<<"标准偏差为 s="<<sk<<endl;
//cout<<"平均值的标准偏差 sx="<<skk<<endl;
}

这是数学问题,与语言无关。

你弄懂标准差及其公式,程序很简单。

你用switch怎么循环。。。