用C语言编写程序实现假定某一大型比赛中有10名裁判同时为一名体操运动员打分,编写一个程序,输入这10名裁判的打分,输出去掉一个最高分和一个最低分后该运动员的平均得分。
时间: 2024-02-29 19:52:40 浏览: 47
下面是使用C语言编写的程序,可以实现该功能:
```c
#include <stdio.h>
int main()
{
float score[10];
float max = 0, min = 10, sum = 0;
for (int i = 0; i < 10; i++)
{
scanf("%f", &score[i]);
if (score[i] > max)
max = score[i];
if (score[i] < min)
min = score[i];
sum += score[i];
}
printf("%.2f\n", (sum - max - min) / 8);
return 0;
}
```
程序中首先定义了一个长度为10的数组来存储10名裁判的打分。接着用for循环进行输入,并在输入的同时记录最高分和最低分。最后输出除去最高分和最低分的8个分数的平均值即可。需要注意的是,输出结果需要保留两位小数,这里使用了printf函数中的格式控制符"%.2f"实现。
相关问题
编写一段c语言程序,假定某一大型比赛中有10名裁判同时为一名体操运动员打分,编写一个程序,输入这10名裁判的打分,输出去掉一个最高分和一个最低分后该运动员的平均得分。
好的,下面是符合您要求的 C 语言程序:
```c
#include <stdio.h>
#define JUDGES_NUM 10 // 裁判人数
int main() {
float scores[JUDGES_NUM]; // 存放裁判打分的数组
float sum = 0, max = 0, min = 10; // sum 记录总分,max 和 min 分别记录最高分和最低分
float avg; // 平均得分
// 输入每个裁判的分数
for (int i = 0; i < JUDGES_NUM; i++) {
printf("请输入第 %d 个裁判的分数:", i + 1);
scanf("%f", &scores[i]);
// 计算总分、最高分和最低分
sum += scores[i];
if (scores[i] > max) {
max = scores[i];
}
if (scores[i] < min) {
min = scores[i];
}
}
// 去掉最高分和最低分后计算平均得分
sum = sum - max - min;
avg = sum / (JUDGES_NUM - 2);
printf("该选手的平均得分为:%.2f\n", avg);
return 0;
}
```
程序运行后,会提示您输入 10 个裁判的分数,输入完毕后,程序会自动去掉最高分和最低分,然后计算平均得分并输出。注意,程序中 `JUDGES_NUM` 宏定义需要设置为 10,即裁判人数。
假定某一大型比赛中有10名裁判同时为一名体操运动员打分,编写一个程序,输入这10名裁判的打分,输出去掉一个最高分和一个最低分后该运动员的平均得分。在一行中顺序输入10名裁判的打分,其间以1个空格分隔。顺序输出最高分,最低分,平均分,保留3位小数,其间以1个空格分隔,用C语言实现
好的,以下是用 C 语言实现的程序:
```c
#include <stdio.h>
int main()
{
float scores[10]; // 用一个数组来存储10名裁判的打分
// 循环读入10名裁判的打分
for (int i = 0; i < 10; i++) {
scanf("%f", &scores[i]);
}
// 找到最高分和最低分的下标
int max_index = 0, min_index = 0;
for (int i = 1; i < 10; i++) {
if (scores[i] > scores[max_index]) {
max_index = i;
}
if (scores[i] < scores[min_index]) {
min_index = i;
}
}
// 去掉最高分和最低分
float sum_score = 0;
for (int i = 0; i < 10; i++) {
if (i != max_index && i != min_index) {
sum_score += scores[i];
}
}
// 计算平均得分
float avg_score = sum_score / 8;
// 输出最高分、最低分和平均分
printf("%.3f %.3f %.3f\n", scores[max_index], scores[min_index], avg_score);
return 0;
}
```
这个程序会首先让你输入10名裁判的打分,然后找到最高分和最低分的下标,去掉最高分和最低分,最后计算并输出最高分、最低分和平均分,保留3位小数。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.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)