C语言青年歌手大奖赛评委会打分
时间: 2023-12-05 17:41:21 浏览: 43
以下是C语言实现青年歌手大奖赛评委会打分的代码示例:
```c
#include <stdio.h>
#define MAX_JUDGE_NUM 100
int main()
{
int judge_num, i, max_score = -1, min_score = 101;
float total_score = 0, score;
printf("请输入评委人数:");
scanf("%d", &judge_num);
for (i = 0; i < judge_num; i++)
{
printf("请输入第%d位评委的分数:", i + 1);
scanf("%f", &score);
if (score > max_score)
{
max_score = score;
}
if (score < min_score)
{
min_score = score;
}
total_score += score;
}
total_score = (total_score - max_score - min_score) / (judge_num - 2);
printf("该选手的得分为:%.2f\n", total_score);
return 0;
}
```
相关问题
C语言青年歌手参加歌曲大奖赛,有 10 个评委进行打分,编程求这位选手的平均得分(去掉一个最高分和一个最低分)。
好的,这个问题是程序计算问题,我可以帮你回答。根据你所描述的情况,我们需要取出其中的最高分和最低分,然后计算剩余分数的平均值。为了方便,我可以用 C 语言编写一个简单的程序来实现这个功能,代码如下:
```
#include <stdio.h>
void sort(int array[], int n) {
for (int i = 0; i < n - 1; i++) {
int min = i;
for (int j = i + 1; j < n; j++) {
if (array[j] < array[min]) {
min = j;
}
}
int temp = array[i];
array[i] = array[min];
array[min] = temp;
}
}
double avg(int array[], int n) {
sort(array, n);
double sum = 0.0;
for (int i = 1; i < n - 1; i++) {
sum += array[i];
}
return sum / (n - 2);
}
int main() {
int scores[10];
printf("请输入 10 个评分:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &scores[i]);
}
double average = avg(scores, 10);
printf("这位选手的平均得分为: %.2f\n", average);
return 0;
}
```
你可以将上述代码复制到一个 C 语言的开发环境中进行编译运行。程序运行后会提示你输入 10 个评分,依次输入即可。运行结束后程序会输出这位选手的平均得分,保留两位小数。
希望这个回答能够帮到你,如果你还有其他问题可以继续问我。
用c语言要求编写一个程序,对于参加大奖赛的青年歌手,根据评委会的打分,使用数组知识编程求出这个选手的平均得分(去掉一个最高分和一个最低分,小数点保留两位)。
好的,下面是一个用 C 语言编写的程序,可以实现你的需求:
```c
#include <stdio.h>
#define SIZE 10 // 定义数组大小
float average(float a[], int n); // 声明函数
int main(void) {
float scores[SIZE];
int i;
float avg;
printf("请输入 %d 位评委的打分:\n", SIZE);
for (i = 0; i < SIZE; i++) {
printf("第 %d 位评委的分数:", i + 1);
scanf("%f", &scores[i]);
}
avg = average(scores, SIZE);
printf("选手的平均得分为:%.2f\n", avg);
return 0;
}
float average(float a[], int n) {
int i;
float sum = 0.0;
float max = a[0], min = a[0];
for (i = 0; i < n; i++) {
sum += a[i];
if (a[i] > max) {
max = a[i];
}
if (a[i] < min) {
min = a[i];
}
}
return (sum - max - min) / (n - 2);
}
```
这个程序中,我们首先定义了一个常量 `SIZE` 表示数组的大小为 10。然后,我们在 `main` 函数中输入了 10 位评委的打分,并将这些分数存储在一个名为 `scores` 的数组中。
接着,我们调用了一个名为 `average` 的函数,用于计算选手的平均得分。这个函数的参数包括一个名为 `a` 的数组和一个整数 `n`,分别表示分数数组和数组的大小。在函数内部,我们首先定义了三个变量:`i` 用于循环计数,`sum` 用于记录所有分数的总和,`max` 和 `min` 分别记录最高分和最低分的值,初始值都为数组中的第一个元素。
然后,我们使用一个循环遍历数组中的所有元素,将分数累加到 `sum` 变量中,并比较每个分数是否比当前的最高分和最低分还要高或低,如果是,则将 `max` 或 `min` 更新为这个分数。
最后,我们返回剩余分数的平均值,这里使用的是 `(sum - max - min) / (n - 2)` 的公式。
最后,在 `main` 函数中,我们输出了选手的平均得分,保留了小数点后两位。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)