红枣豚骨靓汤
2021-11-07 13:52
采纳率: 100%
浏览 30

求平均数和方差,这输出的数值咋不对

r=0.0;
h=0.0;
for(i=1;i<=10;i++)
{
r=r+n[i];
}
printf("%d\n",r);
r=r/10;

      for(i=1;i<=10;i++)
      {
        p=(n[i]-r)*(n[i]-r);
        h=h+p;
      }
      
    h=h/10;
    printf("%.2f\n",h);

输入:16 20 41 23 200 49 9 35 37 171
输出:-712522552
4105.90
答案:601
4106.29
麻烦各位大佬看看,这哪里不对了。
(这是全部代码中的一小部分,声明,输入的部分没复制下来)
r,h都是浮点型,数组是整型。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 放荡 不羁的腿毛 2021-11-07 13:58
    已采纳

    首先数组是从0开始计数的,不知道你的n[]是怎么输入的,其次是浮点数是%f不是%d,而且你先输出再计算平均数,不应该先计算平均数再输出r吗?

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题