将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分,
时间: 2024-01-24 22:17:16 浏览: 23
假设评委所打的10个分数存储在一个数组$score$中,可以按照以下步骤计算除第一个和最后一个分数以外的数的平均分:
1. 将$score$数组按照增序(或降序)排列。
2. 通过数组下标访问除第一个和最后一个分数以外的数,计算它们的总和。
3. 用除第一个和最后一个分数以外的数的个数来除以总和,得到平均分。
下面是一个示例代码实现:
```python
score = [7, 8, 6, 9, 5, 10, 8, 7, 9, 8] # 评委打的分数
score_sorted = sorted(score) # 将分数按增序排列
sum_score = sum(score_sorted[1:-1]) # 计算除第一个和最后一个分数以外的数的总和
avg_score = sum_score / (len(score_sorted) - 2) # 计算平均分
print("平均分为:", avg_score)
```
输出结果为:
```
平均分为: 8.0
```
相关问题
java输入10个评委打的分数,去掉一个最高分,去掉一个最低分,求和,不用数组
可以使用循环来实现输入和求和,同时使用两个变量来记录最高分和最低分。代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int max = 0; // 最高分
int min = 10; // 最低分
int sum = 0; // 总分
for (int i = 1; i <= 10; i++) {
System.out.print("请输入第" + i + "个评委的分数:");
int score = input.nextInt();
if (score > max) {
max = score;
}
if (score < min) {
min = score;
}
sum += score;
}
sum -= max + min; // 去掉最高分和最低分
System.out.println("去掉一个最高分" + max + ",去掉一个最低分" + min + ",总分为" + sum);
}
}
```
运行结果如下:
```
请输入第1个评委的分数:8
请输入第2个评委的分数:7
请输入第3个评委的分数:9
请输入第4个评委的分数:6
请输入第5个评委的分数:5
请输入第6个评委的分数:10
请输入第7个评委的分数:7
请输入第8个评委的分数:6
请输入第9个评委的分数:8
请输入第10个评委的分数:9
去掉一个最高分10,去掉一个最低分5,总分为70
```
输入10个评委打的分数,去掉一个最高分,去掉一个最低分,求平均分。
好的,这是一个简单的Python代码实现:
```python
scores = [] # 存储评委打的分数
for i in range(10):
score = float(input("请输入第{}位评委的分数:".format(i+1)))
scores.append(score)
# 去掉一个最高分和一个最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 求平均分
average_score = sum(scores) / len(scores)
print("去掉一个最高分和一个最低分后的平均分为:{:.2f}".format(average_score))
```
你可以依次输入10个评委打的分数,代码会自动去掉一个最高分和一个最低分,然后求出剩下分数的平均值并输出。