C语言编程:十个评委分别为十位歌手评分,去掉一个最高分,去掉一个最低分,求剩下分数的平均值

百分制。最好能有注解,急,,谢谢了
2025-03-10 14:41:59
推荐回答(2个)
回答1:


#include 
#include 

#define NUM 10

int findMax(int *buf)
{
int index = 0, max = buf[0];

for (int i=1; i < NUM; i++)
{
if (buf[i] > max)
{
index = i;
}
}
return index;
}

int findMin(int *buf)
{
int index = 0, min = buf[0];

for (int i=1; i < NUM; i++)
{
if (buf[i] < min)
{
index = i;
}
}
return index;
}

int main(void) 
{
int score[NUM] = {0};
int maxIndex = 0, minIndex = 0;
double avr = 0.0;

for (int i=0; i {
printf("输入第%d位歌手分数:", i + 1);
scanf("%d", score + i);
}

maxIndex = findMax(score);
minIndex = findMin(score);

for (i=0; i {
if (i != maxIndex && i != minIndex)
{
avr += score[i];
}
}

avr /= 8;

printf("去掉最低和最高分后的平均分为%lf。", avr);

return 0;
}

回答2:

求出 一个数据的最高 和最低 然後把其他的加起来再除不就行了嘛。。。