问什么输出的最高分和最低分不正确

#include <stdio.h>
#define N 5
int main(){
double score[N],sum=0.0,avg=0.0;
for(int i = 0 ; i<N ;i++){
printf("第%d位评委的分数:\n",i+1);
scanf("%lf",&score[i]);
sum+=score[i];
}
int max = 0,min = 0;
for(int j = 1; j<N ; j++){
if(score[max] < score[j]){
max = j;
}
if(score[min] > score[j]){
min = j;
}
}

avg = (sum-score[max]-score[min])/(N-2);
printf("去掉最高分和最低分的成绩:%lf",avg);
printf("最高分成绩:%d\n",max);
printf("最低分成绩:%d\n",mix);

}

供参考:

#include <stdio.h>
#define N 5
int main()
{
    double score[N],sum=0.0,avg=0.0;
    for(int i = 0 ; i<N ;i++){
           printf("第%d位评委的分数:\n",i+1);
           scanf("%lf",&score[i]);
           sum+=score[i];
    }
    double max = score[0] , min = score[0];
    for(int j = 1; j<N ; j++){
            if(max < score[j]){
                max = score[j];
            }
            if(min > score[j]){
                min = score[j];
            }
    }

    avg = (sum- max - min)/(N-2);
    printf("去掉最高分和最低分的成绩:%lf\n",avg);
    printf("最高分成绩:%.2f\n",max);
    printf("最低分成绩:%.2f\n",min);
    
    return 0;
}

最高分的成绩应该是score【max】,而不是max。
同理最小值也是。算法没错,输出错了吧。