C语言 求大神 求程序 拜托 好人一生幸福3
问题C:数理统计时间限制:1Sec内存限制:128MB提交:626解决:285[提交][状态][讨论版]题目描述标准差(StandardDeviation),是在概率统计...
问题 C: 数理统计
时间限制: 1 Sec 内存限制: 128 MB
提交: 626 解决: 285
[提交][状态][讨论版]
题目描述
标准差(Standard Deviation),是在概率统计中最常使用作为统计分布程度(statistical dispersion)上的测量。标准差定义是总体各单位标志值与其平均数离差平方的算术平均数的平方根。它反映组内个体间的离散程度。其定义为:
其中,是均值,即:
现有若干组统计数据,请求这些数据的均值与标准差。
输入
输入为多行。第一行是M>0,表示有M组数据。
之后有M行数据,每行第一个整数是1000>=N>=0。如果N>0,则之后有N个实数,每个实数均在[0,1)区间内,每2个数据之间用一个空格隔开。如果N=0,则该行只有一个输入“0”,即这是一个空数组。
输出
输出有多行,第一行是标题行“Average stdDev”。之后有M行。每一行与上述一组输入一一对应。
如果对应输入的N=0,则输出均值和标准差为0。
如果N>0,则输出该组输入的均值和标准差。均值和标准差均保留4位小数。
每行输出的均值与标题行的字符'A'对齐,标准差与标题行的字符's'对齐。
样例输入
2
0
100 0.2460 0.1184 0.4434 0.0913 0.0596 0.0361 0.6316 0.0160 0.8764 0.2510 0.6934 0.1744 0.8081 0.3045 0.9331 0.1689 0.4166 0.9956 0.0475 0.1747 0.5894 0.3387 0.0928 0.3461 0.0056 0.4452 0.4803 0.1279 0.1220 0.1673 0.6247 0.4469 0.1574 0.0855 0.3911 0.4381 0.0673 0.8466 0.1956 0.7243 0.2645 0.8986 0.7377 0.1802 0.9075 0.5484 0.8786 0.2190 0.2352 0.3451 0.5362 0.2807 0.7257 0.7136 0.6661 0.3033 0.9239 0.8416 0.9837 0.7466 0.6259 0.0221 0.7121 0.9340 0.3099 0.2848 0.7770 0.6203 0.2244 0.3029 0.6016 0.2921 0.9171 0.6247 0.8853 0.4121 0.2743 0.9390 0.3680 0.3016 0.3657 0.9318 0.8573 0.5346 0.3144 0.5971 0.0722 0.3652 0.0574 0.2353 0.4133 0.5102 0.0502 0.2816 0.2556 0.4252 0.3762 0.2400 0.8485 0.6085
样例输出
Average stdDev
0 0
0.4489 0.2875 展开
时间限制: 1 Sec 内存限制: 128 MB
提交: 626 解决: 285
[提交][状态][讨论版]
题目描述
标准差(Standard Deviation),是在概率统计中最常使用作为统计分布程度(statistical dispersion)上的测量。标准差定义是总体各单位标志值与其平均数离差平方的算术平均数的平方根。它反映组内个体间的离散程度。其定义为:
其中,是均值,即:
现有若干组统计数据,请求这些数据的均值与标准差。
输入
输入为多行。第一行是M>0,表示有M组数据。
之后有M行数据,每行第一个整数是1000>=N>=0。如果N>0,则之后有N个实数,每个实数均在[0,1)区间内,每2个数据之间用一个空格隔开。如果N=0,则该行只有一个输入“0”,即这是一个空数组。
输出
输出有多行,第一行是标题行“Average stdDev”。之后有M行。每一行与上述一组输入一一对应。
如果对应输入的N=0,则输出均值和标准差为0。
如果N>0,则输出该组输入的均值和标准差。均值和标准差均保留4位小数。
每行输出的均值与标题行的字符'A'对齐,标准差与标题行的字符's'对齐。
样例输入
2
0
100 0.2460 0.1184 0.4434 0.0913 0.0596 0.0361 0.6316 0.0160 0.8764 0.2510 0.6934 0.1744 0.8081 0.3045 0.9331 0.1689 0.4166 0.9956 0.0475 0.1747 0.5894 0.3387 0.0928 0.3461 0.0056 0.4452 0.4803 0.1279 0.1220 0.1673 0.6247 0.4469 0.1574 0.0855 0.3911 0.4381 0.0673 0.8466 0.1956 0.7243 0.2645 0.8986 0.7377 0.1802 0.9075 0.5484 0.8786 0.2190 0.2352 0.3451 0.5362 0.2807 0.7257 0.7136 0.6661 0.3033 0.9239 0.8416 0.9837 0.7466 0.6259 0.0221 0.7121 0.9340 0.3099 0.2848 0.7770 0.6203 0.2244 0.3029 0.6016 0.2921 0.9171 0.6247 0.8853 0.4121 0.2743 0.9390 0.3680 0.3016 0.3657 0.9318 0.8573 0.5346 0.3144 0.5971 0.0722 0.3652 0.0574 0.2353 0.4133 0.5102 0.0502 0.2816 0.2556 0.4252 0.3762 0.2400 0.8485 0.6085
样例输出
Average stdDev
0 0
0.4489 0.2875 展开
展开全部
我来写出完整的程序吧:
//求多组数据的平均值和标准偏差
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main(){
int M,N,i,j;
double data,xave,x2ave,ave[100],dev[100];
scanf("%d",&M);//输入组数,假设M不超过100组
for(i=0;i<M;++i){
scanf("%d",&N);//输入该组的数据个数
if(N<=0){
ave[i]=dev[i]=0.0;
continue;
}
for(xave=0.0,x2ave=0.0,j=0;j<N;++j){
scanf("%lf",&data); //输入一个数据
xave+=data; x2ave+=data*data; //累加x与x^2
}
xave/=N; x2ave/=N; //求<x>和<x^2>
ave[i]=xave; dev[i]=sqrt(x2ave-xave*xave); //标准偏差可以写成sqrt(<x^2>-<x>^2)
}
printf("Average\tstdDev\n");
for(i=0;i<M;++i){
printf("%.4lf\t%.4lf\n",ave[i],dev[i]);
}
printf("\nFinished!\n");
getch();
return 0;
}
若是作为初学者,一定要养成好好读懂别人程序的习惯!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询