#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。
同理最小值也是。算法没错,输出错了吧。