题目:某一歌手参加歌曲大奖赛 有30个评委进行打分,存放在一个数组里score【】,分数为1到100之间的随机数,编程利用for循环输出这位选手的最高分、最低分和最终得分(最终得分=总分数/评委总人数)
时间: 2024-11-06 15:14:05 浏览: 109
为了完成这个任务,你需要编写一段程序,首先遍历整个评委打分数组`score[]`,找到其中的最大值(最高分)和最小值(最低分),然后计算平均分即总分除以评委人数(30)。下面是一个简单的Python示例:
```python
import random
# 初始化评委打分数组
scores = [random.randint(1, 100) for _ in range(30)] # 生成随机数填充数组
# 初始化最高分、最低分和总分
max_score = scores[0]
min_score = scores[0]
total_score = 0
# 使用for循环遍历数组
for score in scores:
total_score += score # 累加每个评委的分数
if score > max_score:
max_score = score
if score < min_score:
min_score = score
# 计算平均得分(最终得分)
average_score = total_score / len(scores)
# 输出结果
print("最高分:", max_score)
print("最低分:", min_score)
print("最终得分:", average_score)
```
相关问题
编程实现:某青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,求这位选手的最后得分(最后得分是去掉一个最高分和一个最低分后的平均分)。用c语言编写
在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个分数中计算平均值作为最后得分。
题目二: 青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分后所得的平均分)。 程序代码:c语言
题目二要求编写一个简单的C语言程序,计算一位参赛者在歌曲大奖赛中的平均得分。以下是解决这个问题的一个基本步骤和代码示例:
```c
#include <stdio.h>
// 定义函数来获取平均分
double calculate_average(int scores[], int n) {
if (n < 2) {
printf("至少需要两个分数才能计算平均分。\n");
return 0;
}
// 排序数组
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (scores[j] > scores[j + 1]) {
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
// 取除最高分和最低分,然后求平均
double sum = scores[0];
double avg = sum / (n - 2);
return avg;
}
int main() {
int scores[10]; // 假设这里存储了10个评委的打分
int num_scores = 0;
// 输入评委的打分
printf("请输入10个评委的打分:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &scores[i]);
num_scores++;
}
double average = calculate_average(scores, num_scores);
// 输出平均分
printf("去掉最高分和最低分后的平均得分为: %.2f\n", average);
return 0;
}
```
在这个程序中,首先定义了一个`calculate_average`函数,接受一个整数数组和其长度作为参数。它先检查是否至少有两个数字,然后对数组进行排序,最后计算去掉最高分和最低分后的平均值。在`main`函数中,用户输入10个评分,然后调用这个函数并打印结果。
阅读全文
相关推荐
















