求 个位大神帮帮忙看看哪错了。

来源:6-12 综合练习

幕布斯0401086

2018-12-14 21:46

这个还没做排序那个问题,我的这个在自己的编译器上总分是对的,平均数和在这上面一样错了,想请求个位大神帮忙指导改正。

#include <stdio.h>
int main()
{
    int score[10]={67,98,75,63,82,79,81,91,66,84};
    int sum=0;
    int n;
    for(n =0;n <= 10;n++)
    {
        sum += score[n];
    }
    printf("考试总分是%d\n",sum);
    int max=score[0];
    for(n=0;n<10;n++)
    {
        if(max<score[n])
        {
            max=score[n];    
        }
    }
    printf("最高分是%d\n",max);
    int min=score[0];
    for(n=0;n<10;n++)
    {
        if(min>score[n])
        {
            min=score[n];    
        }
    }
    printf("最低分是%d\n",min);
    float adv;
    for(n =0;n <= 10;n++)
    {
        sum += score[n];
        adv = sum*1.0/10;
    }
    printf("平均分是%f\n",adv);
    return 0;
}

写回答 关注

2回答

  • waipcat
    2019-02-01 11:31:16

    求和的时候就出错了: for(n =0;n <= 10;n++),如果<=10的话会出现score[10]这个不存在的数据,系统就随机分配一个数据给这个值,所以应该改为<=9;

    然后求平均值的时候sum没有初始化,还是会带入求和的时候的值,及真正的sum,应该重新定义一下,让sum=0.


  • qq_silentsoul_0
    2018-12-15 00:58:06

    adv这一行,挪到for循环外`~

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题