标题:请各位大佬帮忙看一下错哪儿了,答案一直错误
只看楼主
qiujiao
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-10-26
结帖率:0
已结贴  问题点数:20 回复次数:10 
请各位大佬帮忙看一下错哪儿了,答案一直错误
求n个数的平均数和标准差。给定n个数X1 ,X2 ,X3 ......Xn ,数据的平均数为x
图 1:
输入
第一行一个正整数T,表示有T组测试数据。以下每行是一组数,第一个数为数据个数m(m<200),然后是m个正整数构成,

输出
对于每组数据输出一行,即平均数和标准差,两个数据均保留3位小数,并且以一个空格隔开。

输入样列
2
5 1 1 1 1 1
6 1 2 3 4 6 5

输出样例
1.000 0.000
3.500 1.708

#include<stdio.h>
#include<math.h>
int main(){
    int t,n,i,sum=0,a[200];
    double e=0,av;
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);
            sum+=a[i];
        }
        av=sum/n;
        for(i=0;i<n;i++){
            e+=(a[i]-av)*(a[i]-av);
        }
        printf("%.3lf %.3lf\n",av,sqrt(e/n));
    }
    return 0;
}
搜索更多相关主题的帖子: 答案 数据 输出 sum scanf 
2018-11-11 12:49
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:20 
  sum+=a[i];   while(t--) 在进入第二个循环的时候,sum是第一次循环的结果5!  然后这个5又加进了,第二次循环!  结果肯定不对!

sum=0  这句,你写进while循环内



学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-11 13:50
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 
还有一个问题,sum  定义为double!

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-11 13:54
qiujiao
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-10-26
得分:0 
还是WA。
2018-11-11 15:41
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 
回复 4楼 qiujiao
??

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-11 15:52
qiujiao
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-10-26
得分:0 
运行出来的答案是对的,但是交上去还是说是答案错误
2018-11-11 15:57
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 
交上去?系统?

题目要求还有些啥?

你的代码里面,交互很少!   用户输入,都不知道输到哪一步了!

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-11 16:25
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 


我用手机,编译测试的!

自己加点交互语句吧

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-11 16:27
qiujiao
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-10-26
得分:0 
交互语句要怎么弄?不会耶
2018-11-11 16:34
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 
scanf("%d",&t);
比如这句改成
printf("请输入,总共有几行数据:");
scanf("%d",&t);

scanf("%d",&n)改成
printf("/n请输入每行的数据:");
scanf("%d",&n)

 for(i=0;i<n;i++){
            scanf("%d",&a[i]);
            sum+=a[i];
        }
for循环后面跟一个printf("/n");


printf("%.3lf %.3lf\n",av,sqrt(e/n));
前面加一句
printf("平均数和标准差依次为:");


你把这些加进代码,运行试试,看看是不是好的多!

这些交互,多用用!   

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-11 16:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491164-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.453426 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved