用C语言完成题目在某大奖赛中,有10个评委为参赛的选手打分,分数为0~10,精确到1为小数。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写程序计算一位选手最后分数,要求保留2位小数。并对评委打分用数组保存,然后按从小到大顺序输出。
时间: 2024-05-02 15:18:50 浏览: 72
C语言练习题:求1到10的阶乘之和简单实例
5星 · 资源好评率100%
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
float score[10]; // 评委打分
int i, j;
float sum = 0, max = 0, min = 10;
// 输入评委打分
for (i = 0; i < 10; i++) {
printf("请输入第%d个评委的打分:", i+1);
scanf("%f", &score[i]);
}
// 计算总分
for (i = 0; i < 10; i++) {
sum += score[i];
if (score[i] > max) {
max = score[i];
}
if (score[i] < min) {
min = score[i];
}
}
sum = sum - max - min; // 去掉最高分和最低分
sum = sum / 8; // 求平均分
printf("选手最后得分为:%.2f\n", sum);
// 排序并输出评委打分
for (i = 0; i < 9; i++) {
for (j = i+1; j < 10; j++) {
if (score[i] > score[j]) {
float temp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
printf("评委打分从小到大排序如下:\n");
for (i = 0; i < 10; i++) {
printf("%.1f ", score[i]);
}
printf("\n");
return 0;
}
```
阅读全文