为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

#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 回答

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

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


0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信