出了点问题,求解,急!

来源:6-12 综合练习

慕函数409345

2017-11-04 00:29

为什么我的score[2]被吃了?

#include <stdio.h>
int main()
{
    int score[10]={67,98,75,63,82,79,81,91,66,84};
    int sum,average,N;
    sum = 0;
    for(N=0;N<10;N++)
    {
        sum += score[N];
    }
        printf("总分是%d\n",sum);
    for(N=0;N<10;N++)
        {
            if(score[N]<score[N+1])
                {
                    int temp;
                    temp=score[N+1];
                    score[N+1]=score[N];
                    score[N]=temp;                  
     printf("score[%d]=%d\n",N,score[N]);
                }
        }
        printf("最高分是%d\n",score[0]);
        printf("最低分是%d\n",score[9]);
        average=sum/10;
        printf("平均分是%d\n",average);
       
        return 0;
}

写回答 关注

1回答

  • Imunique
    2017-11-04 15:04:48

    读一读代码,你第二次循环时不满足if语句的判断条件,所以等于说第二次循环n等于2时没有执行if里面的代码,所以你应该把 printf("score[%d]=%d\n",N,score[N]);放到if外面,这样就行了。

C语言入门

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

926024 学习 · 20793 问题

查看课程

相似问题