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
展开
 我来答
百度网友9761bdf1d
2014-11-05 · TA获得超过589个赞
知道小有建树答主
回答量:441
采纳率:0%
帮助的人:357万
展开全部

我来写出完整的程序吧:

//求多组数据的平均值和标准偏差
#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;
}

若是作为初学者,一定要养成好好读懂别人程序的习惯!

yzwyzw366
2014-11-05 · 超过24用户采纳过TA的回答
知道答主
回答量:159
采纳率:0%
帮助的人:58.5万
展开全部
考试?还是练习 练习还是自己弄吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式