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

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

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吗?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月15日
  • 已采纳回答 11月7日
  • 修改了问题 11月7日
  • 创建了问题 11月7日

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码