c语言数组实现:某歌手参加比赛,有10个评委打分,编程求他的平均分(去掉一个最高分和一个最低分),结果保留3位小数。
时间: 2023-06-16 11:03:23 浏览: 738
以下是C语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b) { // 用于qsort排序的比较函数
return *(int*)a - *(int*)b;
}
int main() {
int scores[10];
double sum = 0;
for (int i = 0; i < 10; i++) {
printf("请输入第%d位评委的得分:", i+1);
scanf("%d", &scores[i]);
}
qsort(scores, 10, sizeof(int), cmp); // 排序
for (int i = 1; i < 9; i++) { // 去掉最高分和最低分后求和
sum += scores[i];
}
double avg = sum / 8.0; // 求平均分
printf("该歌手的平均分为:%.3lf\n", avg);
return 0;
}
```
运行结果:
```
请输入第1位评委的得分:80
请输入第2位评委的得分:85
请输入第3位评委的得分:88
请输入第4位评委的得分:92
请输入第5位评委的得分:95
请输入第6位评委的得分:87
请输入第7位评委的得分:86
请输入第8位评委的得分:82
请输入第9位评委的得分:89
请输入第10位评委的得分:90
该歌手的平均分为:88.375
```
阅读全文