编程实现:某青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,求这位选手的最后得分(最后得分是去掉一个最高分和一个最低分后的平均分)。用c语言编写
时间: 2024-12-13 19:24:07 浏览: 17
在C语言中,我们可以创建一个简单的程序来计算青年歌手的最后得分。这里是一个简化的例子:
```c
#include <stdio.h>
#define NUM_JUDGES 10
// 函数声明
double calculateAverageScore(int scores[], int n);
int main() {
// 假设我们有一个包含10个评委评分的数组
int scores[NUM_JUDGES];
// 填充评委评分(为了示例)
for (int i = 0; i < NUM_JUDGES; ++i) {
scanf("%d", &scores[i]);
}
// 排序分数(从低到高)
for (int i = 0; i < NUM_JUDGES - 1; ++i) {
for (int j = 0; j < NUM_JUDGES - 1 - i; ++j) {
if (scores[j] > scores[j + 1]) {
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
// 计算并输出最后得分
double finalScore = calculateAverageScore(scores + 1, NUM_JUDGES - 2); // 开始从第二个元素计算,去掉头尾两个
printf("青年歌手的最后得分为: %.2f\n", finalScore);
return 0;
}
// 函数:计算平均分,去掉最高分和最低分
double calculateAverageScore(int scores[], int n) {
double sum = 0;
for (int i = 0; i < n; ++i) {
sum += scores[i];
}
return sum / n;
}
```
这个程序首先输入10个评委的评分,然后通过冒泡排序算法找到最低和最高的两个分数,并从剩余的8个分数中计算平均值作为最后得分。
阅读全文