首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 求平均数和标准差 [已结贴,结贴人:zhoufuguo8802]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhoufuguo8802
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-19 16:29:52 楼主
    Description
    求5个数的平均数和标准差
    输入
    第一行一个正整数T,有T组测试数据; 以下每组数据:第一行5个整数S[I](|S[I]| <=1000);
    输出
    对于每组数据输出一行,即平均数和标准差,两个数据均保留3位小数,并且以一个空格阁开.
    请给出代码!!!
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hqin6
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:31:581楼 得分:1
    汗~~~没看懂!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • clhposs
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:33:202楼 得分:1
    同上
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • e_sharp
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:36:553楼 得分:1
    同上
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • veloting
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:43:034楼 得分:0
    我看懂了,呵呵!!!
    不是挺简单的么,就调用一下函数?
    LX写吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hqin6
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:47:275楼 得分:5
    C/C++ code
    #include <iostream> #include <math.h> #include <stdio.h> using namespace std; void main() { int T; float num[100][5]; float arg[100]; float s[100]; cin>>T; for (int i=0;i<T;i++) { arg[i]=0; for (int j=0;j<5;j++) { cin>>num[i][j]; arg[i]+=num[i][j]; } arg[i]/=5; } //计算标准差 for (int i=0;i<T;i++) { s[i]=0; for (int j=0;j<5;j++) { s[i]+=pow((num[i][j]-arg[i]),2); } s[i] = sqrt((float)s[i]); } for (int i=0;i<T;i++) { //cout<<"平均值:"<<arg[i]<<" 标准差:"<<s[i]<<endl; printf("平均值:%.3f 标准差:%.3f\n",arg[i],s[i]); } system("pause"); }


    试试~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • macfan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:47:366楼 得分:2
    看懂了,不会写.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ww2734
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:47:407楼 得分:5

    #include "stdafx.h"
    #include "math.h"

    int _tmain(int argc, _TCHAR* argv[])
    {
    //printf("please int put the number:");
    //int num;
    //scanf("%d",&num);
    int a[5];
    int i;
    int sum=0;
    float count=0;
    float ave;
    for (i=0;i <5;i++)
    {
    scanf("%d",&a[i]);
    }
    for (i=0;i <5;i++)
    {
    sum+=a[i];
    }
    ave=sum*1.0/5;
    for (i=0;i <5;i++)
    {
    count+=(a[i]-ave)*(a[i]-ave);

    }
    printf("%.3f %.3f",ave,sqrt(count));
    return 0;
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • veloting
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 16:56:248楼 得分:0
    引用 5 楼 hqin6 的回复:
    C/C++ code#include <iostream>#include <math.h>#include <stdio.h>usingnamespacestd;voidmain()
    {intT;floatnum[100][5];floatarg[100];floats[100];
        cin>>T;for(inti=0;i <T;i++)
        {
            arg[i]=0;for(intj=0;j <5;j++)
            {
                cin>>num[i][j];
                arg[i]+=num[i][j];
            }
            arg[i]/=5;
        }//计算标准差for(inti=0;i <T;i++)
        {
            s[i]=0;for(intj=0;j <5;j++)
            …

    UP 呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xqls_xqls
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 22:02:299楼 得分:5

    #include <iostream>
    #include <math.h>
    #include <iomanip>
    using namespace std;

    typedef struct data
    {
    double avg;    //存平均值
    double sd;      //存标准差
    }DATA;

    //求标准差
    double count_SD(int *p,float j,int i)
    {
    double s = 0.0;
    for(int m = 0;m < i;m++)
    s += pow((p[m] - j),2);
    s = s/i;
    s = sqrt(s);
    return s;
    }

    //求平均值
    float count_avg(int *p,int j)
    {
    float avg = 0.0;
    float cou = 0.0;
    for(int m = 0;m < j;m++)
    cou += p[m];
    avg = cou/j;
    return avg;
    }

    DATA * fun(int i)
    {
    int j = 0;
    int m = 0;
    DATA *S = new DATA[i];
    int **p = new int *[i];
    for(j;j <i;j++)
    p[j] = new int [5];
    for(m =0;m <i;m++)
    cin>>p[m][0]>>p[m][1]>>p[m][2]>>p[m][3]>>p[m][4];

    for(j=0;j <i;j++)
    {
    S[j].avg = count_avg(p[j],5);
    S[j].sd = count_SD(p[j],S[j].avg,5);
    }

    for(int k = 0; k < i; k++)
    delete []p[k];
    delete []p;
    return S;
    }

    void Output(DATA *p,int i)
    {
    cout.setf(ios::showpoint);  //强制显示小数点后的无效0
    cout.precision(3);
    cout < <endl;
    for(int m =0 ;m <i;m++)
    cout < <fixed < <p[m].avg < <"  " < <p[m].sd < <endl;
    }

    void main()
    {
    int Num = 0;
    cout < <"Input data:\n";
    cin>>Num;
    DATA *SD = new DATA[Num];
    SD = fun(Num);
    Output(SD,Num);
    delete []SD;
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liaohongwei
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 00:10:2810楼 得分:0
    路过
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lxl843
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 09:23:5411楼 得分:0
    自己做,作业贴好歹自己写下出问题了问大家啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhoufuguo8802
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 10:35:1312楼 得分:0
    这不是作业!如果不肯指教或者做不出来的就不要回帖!答案不给,还唧唧歪歪,强烈鄙视那类人!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved