用C语言作答歌手大奖赛。在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。 输入样例: 80 89 85 73 93 91 88 78 86 82 输出样例: 84.88
时间: 2023-10-24 10:08:44 浏览: 172
请以下C语言实现,请注意代码中的注释:
```c
#include <stdio.h>
int main() {
// 定义变量和数组
int i, max, min;
double sum = 0;
int score[10];
// 循环读入10个评委的分数
for (i = 0; i < 10; i++) {
scanf("%d", &score[i]);
}
// 找出最高分和最低分的下标
max = min = 0;
for (i = 1; i < 10; i++) {
if (score[i] > score[max]) {
max = i;
}
if (score[i] < score[min]) {
min = i;
}
}
// 计算去掉最高分和最低分后的总分
for (i = 0; i < 10; i++) {
if (i != max && i != min) {
sum += score[i];
}
}
// 输出结果
printf("%.2f", sum / 8);
return 0;
}
```
希望能够帮到您!
相关问题
c语言10个选手10个评委,求教C语言题:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。...
这道题目可以使用二维数组来解决。我们可以将每个选手的分数存储在一个二维数组中,其中第一维表示选手的编号,第二维表示评委的编号。然后,可以使用循环来逐个输入每个评委对每个选手的分数,并计算每个选手的总分和平均分。
以下是一个简单的示例代码,可以计算每个选手的总分和平均分:
```c
#include <stdio.h>
int main() {
int scores[10][10]; // 存储每个选手的分数
int total_scores[10] = {0}; // 存储每个选手的总分
float avg_scores[10] = {0}; // 存储每个选手的平均分
// 循环输入每个评委对每个选手的分数
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
printf("请输入第%d个评委对第%d个选手的分数:", j + 1, i + 1);
scanf("%d", &scores[i][j]);
}
}
// 计算每个选手的总分和平均分
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
total_scores[i] += scores[i][j];
}
avg_scores[i] = (float)total_scores[i] / 10;
}
// 输出每个选手的总分和平均分
for (int i = 0; i < 10; i++) {
printf("第%d个选手的总分为:%d,平均分为:%.2f\n", i + 1, total_scores[i], avg_scores[i]);
}
return 0;
}
```
这个程序会先循环输入每个评委对每个选手的分数,然后计算每个选手的总分和平均分,最后输出每个选手的总分和平均分。
在校园歌手大奖赛中,有10个评委为参赛的选手打分,分数为1~10分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。利用C语言编写上述题
在C语言中,你可以创建一个数组来存储评委的得分,然后计算去掉最高分和最低分后的平均分。以下是实现这一功能的一个简单示例:
```c
#include <stdio.h>
#include <stdlib.h> // 使用这个头文件来获取RAND_MAX
#define NUM_JUDGES 10
#define MAX_SCORE 10
#define MIN_SCORE 1
// 生成随机评委分数
void generate_scores(int scores[NUM_JUDGES]) {
for (int i = 0; i < NUM_JUDGES; i++) {
scores[i] = rand() % (MAX_SCORE - MIN_SCORE + 1) + MIN_SCORE; // 随机生成1到10之间的整数
}
}
// 计算并返回去掉最高分和最低分后的平均分
float calculate_average(int scores[]) {
int sum = 0;
int count = 0;
for (int i = 0; i < NUM_JUDGES; i++) {
sum += scores[i];
count++;
if (i > 0 && i < NUM_JUDGES - 1) { // 跳过最高分和最低分
continue;
}
}
return (float)sum / count;
}
int main() {
srand(time(0)); // 设置随机种子以便每次运行都有不同的结果
int scores[NUM_JUDGES];
generate_scores(scores);
float average = calculate_average(scores);
printf("选手的平均得分: %.2f\n", average);
return 0;
}
```
注意:以上代码使用了`rand()`函数来自动生成评委的评分,`srand()`设置随机数种子以便每次运行程序时得到不同的结果。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)