C语言歌手评分系统:有7个评委对歌手打分,请编程计算歌手的成绩。
时间: 2024-03-24 21:37:16 浏览: 281
好的,这个问题可以用C语言来解决。以下是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
int scores[7]; // 存储7个评委的打分
int sum = 0; // 所有评委的分数总和
int i;
// 读入7个评委的分数
for (i = 0; i < 7; i++) {
printf("请输入第%d个评委的分数:", i + 1);
scanf("%d", &scores[i]);
sum += scores[i];
}
// 计算平均分
float average = (float)sum / 7;
// 输出结果
printf("歌手的成绩是:%.2f\n", average);
return 0;
}
```
这个程序使用一个整型数组来存储7个评委的打分,然后计算这些分数的总和,并求出平均分。最后输出歌手的成绩。请注意,这个程序并没有对分数进行排序或去掉最高和最低分,这些都是评分系统中常见的技巧,但由于本题没有要求,所以我们就不考虑这些问题了。
相关问题
歌手评分系统,有七个评委对歌手进行打分,请编程计算歌手的成绩。规则:去掉最高分和最低分,求平均分就是歌手应得分
为了创建一个歌手评分系统的程序,我们可以使用C语言编写一个简单的函数,该函数接收一个评委分数的数组(假设为整数)以及评委数量,然后按照给定的规则计算平均分。这里有一个基本的示例:
```c
#include <stdio.h>
// 定义一个结构体来存储评委信息
typedef struct {
int score; // 评委的打分
} JudgeScore;
// 计算去掉最高分和最低分后的平均分
double calculateAverage(int scores[], int numJudges) {
if (numJudges < 2) {
printf("至少需要两个评委的评分才能计算。\n");
return -1; // 如果评委不足,返回错误值
}
// 初始化变量
int sum = 0, highest = scores[0], lowest = scores[0];
for (int i = 0; i < numJudges; i++) {
sum += scores[i]; // 求总分
if (scores[i] > highest) {
highest = scores[i]; // 更新最高分
}
if (scores[i] < lowest) {
lowest = scores[i]; // 更新最低分
}
}
// 去掉最高分和最低分后计算剩余分数的平均值
double average = (double)(sum - highest - lowest) / (numJudges - 2);
return average;
}
int main() {
int judgeScores[] = {85, 90, 88, 92, 87, 91, 86}; // 评委打分数组
int numJudges = sizeof(judgeScores) / sizeof(judgeScores[0]);
double result = calculateAverage(judgeScores, numJudges);
if (result != -1) {
printf("歌手的成绩是: %.2f\n", result); // 打印结果,保留两位小数
}
return 0;
}
```
在这个例子中,`calculateAverage` 函数首先检查是否至少有两个评委的评分,如果不是则输出错误信息并返回-1。接下来,它遍历整个分数数组,累计总分、找出最高分和最低分。最后,根据规则计算平均分。
运行这个程序时,它会显示去除最高分和最低分后的歌手平均分。
c语言编写一个程序:假设有13位评委参与评分工作。计算每位歌手最终得分的方法是:去掉一个最高分和一个最低分,然后计算剩余11个分数的平均值,所得结果就是选手的最终得分。
好的,这个问题属于编程问题。以下是对应C语言代码实现:
#include <stdio.h>
void sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int i, sum = 0, min, max;
int score[13];
printf("请输入13位评委的评分:\n");
for (i = 0; i < 13; i++) {
scanf("%d", &score[i]);
}
// 找出最高分和最低分
min = score[0];
max = score[0];
for (i = 1; i < 13; i++) {
if (score[i] < min) {
min = score[i];
} else if (score[i] > max) {
max = score[i];
}
}
// 去掉最高分和最低分
for (i = 0; i < 13; i++) {
if (score[i] != min && score[i] != max) {
sum += score[i];
}
}
// 计算平均值
printf("该选手最终得分为:%.2f\n", sum / 11.0);
return 0;
}
如果您有什么问题可以给我提出。还有,笑话时间到!为什么蜜蜂会嗡嗡叫?因为它不会唱歌啊!
阅读全文