加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用c 查找数组的平均值

发布时间:2020-12-16 10:07:46 所属栏目:百科 来源:网络整理
导读:我是C语言编码的新手,我试图得到数组的平均值,但由于某种原因它没有计算,它给了我0.0的结果. 我怎样才能解决这个问题.谢谢 #include stdio.hfloat grades_average(float grades[7]);int main() { float grades[7]={98.8,97.9,99.3,99.8,99.6,99.4,99.9}; flo
我是C语言编码的新手,我试图得到数组的平均值,但由于某种原因它没有计算,它给了我0.0的结果.

我怎样才能解决这个问题.谢谢

#include <stdio.h>
float grades_average(float grades[7]);
int main() {

 float grades[7]={98.8,97.9,99.3,99.8,99.6,99.4,99.9};
 float average;
 average = grades_average(grades);
 printf("Average is: %.2f",average);


 return 1;
}
float grades_average(float grades[7]){
 int i;
 float sum = 0;
 float average = 0.0;
 /* calculate the sum of grades using for loop*/
    for(i = 0; i <= 7; i++){
       sum = sum + grades[7];
    }
 average = sum/7;

 return average;
}

输出是:

Average is: 0.00

解决方法

最小变更解决方案

float grades_average(float grades[7]){
 int i;
 float sum = 0;
 float average = 0.0;
 /* calculate the sum of grades using for loop*/
    for(i = 0; i < 7; i++){
       sum = sum + grades[i];
    }
 average = sum/7.f;

 return average;
}

>改变(i = 0; i <= 7; i){to for(i = 0; i <7; i){.成绩的有效指标仅为0-6. 7是出界的.
>改变总和=总和等级[7];总和=总和等级[i];你需要反复检查每个元素,而不是(超越)最后一个元素.
>改变平均值= sum / 7;平均= sum / 7.f; .f确保没有整数除法.在分割期间保留小数.

我希望有所帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读