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

出了点问题,求解,急!

为什么我的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 回答

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

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

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

进入课程

出了点问题,求解,急!

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