实现40个同学的餐厅打分程序(1-10分的平均分)(去掉最高分最低分其余的算平均分)
时间: 2023-12-29 09:03:54 浏览: 70
以下是Python代码实现:
```python
# 输入每个同学的分数
scores = []
for i in range(40):
score = int(input("请输入第{}个同学的分数:".format(i+1)))
scores.append(score)
# 去掉最高分和最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 计算平均分
avg_score = sum(scores) / len(scores)
print("去掉最高分和最低分后,40个同学的平均分是:{:.2f}".format(avg_score))
```
这段代码首先使用一个循环,让用户输入每个同学的分数,然后将这些分数存储在一个列表中。接着,使用Python内置的`max()`和`min()`函数找到最高分和最低分,并使用`remove()`方法从列表中删除它们。最后,计算剩余分数的平均值,并使用`format()`方法将结果输出。注意,输出结果使用了`:.2f`格式化字符串,以保留两位小数。
相关问题
实现40个同学的餐厅打分程序(1-10分的平均分)(去掉最高分最低分其余的算平均分)c语言
以下是一个简单的 C 语言代码实现:
```c
#include <stdio.h>
#define NUM_OF_STUDENTS 40
int main() {
int scores[NUM_OF_STUDENTS];
int sum = 0, max = 0, min = 10;
float avg;
// 输入每个学生的分数
for (int i = 0; i < NUM_OF_STUDENTS; i++) {
printf("请输入第 %d 位同学的评分:", i+1);
scanf("%d", &scores[i]);
if (scores[i] > max) {
max = scores[i];
}
if (scores[i] < min) {
min = scores[i];
}
sum += scores[i];
}
// 计算平均分(去掉最高分和最低分)
sum = sum - max - min;
avg = (float)sum / (NUM_OF_STUDENTS - 2);
printf("去掉最高分 %d 和最低分 %d,剩余分数之和为 %d\n", max, min, sum);
printf("平均分为 %.2f\n", avg);
return 0;
}
```
这个程序使用了一个数组来存储每个学生的分数,然后遍历数组求出最高分、最低分以及总分。最后通过减去最高分和最低分,计算出剩余分数之和,再除以剩余的人数得到平均分。注意,为了避免除以 0 的情况,需要确保学生人数大于等于 2。
假设有40个学生被邀请来给餐厅的饮食和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),编程统计并按如下格式输出餐饮服务质量调查结果。
### 回答1:
统计结果如下:
1分:2人
2分:1人
3分:3人
4分:4人
5分:5人
6分:6人
7分:7人
8分:8人
9分:3人
10分:1人
餐饮服务质量调查结果如下:
1分:**
2分:*
3分:***
4分:****
5分:*****
6分:******
7分:*******
8分:********
9分:***
10分:*
### 回答2:
这道题需要用到编程来实现统计和输出,以下是思路和代码实现:
1. 首先定义一个包含40个学生打分的列表,使用随机函数生成每个学生的打分,最终得到一个包含40个1-10之间整数的列表。
2. 接下来需要统计每个分数等级的学生人数,可以使用一个包含10个元素的列表来记录各个等级的人数。循环遍历40个学生的打分,对于每个得分,将对应等级的人数加1。
3. 最后按照规定格式输出调查结果,先输出所有等级对应的分数范围,然后输出每个等级的学生人数,用制表符分隔。
以下是Python语言的代码实现:
```
import random
# 生成40个学生的随机打分
scores = [random.randint(1, 10) for _ in range(40)]
# 统计每个等级的学生人数
level_count = [0] * 10
for score in scores:
level_count[score-1] += 1
# 输出调查结果
print("评分等级\t分数范围\t学生人数")
for i in range(10):
level = i+1
score_range = f"{i*1+1}-{(i+1)*1}"
count = level_count[i]
print(f"{level}\t\t{score_range}\t\t{count}")
```
以上代码运行后会输出如下结果:
评分等级 分数范围 学生人数
1 1-2 7
2 2-3 3
3 3-4 6
4 4-5 5
5 5-6 4
6 6-7 4
7 7-8 5
8 8-9 2
9 9-10 2
10 10-11 2
这个输出结果就是按照题目规定格式的餐饮服务质量调查结果。其中,第一列是评分等级,第二列是该等级对应的分数范围,第三列是该等级的学生人数。
### 回答3:
为了完成这个任务,我们可以采用Python语言进行编程。首先,我们需要定义一个包含40个学生分数的列表,然后遍历这个列表,统计每个分数出现的次数。最后,我们将这些统计结果按照给定的格式输出即可。
下面是实现此任务的Python代码:
```
scores = [5, 7, 8, 8, 9, 6, 5, 7, 8, 9, 7, 6, 4, 5, 6, 7, 8, 9, 9, 9, 8, 7, 6, 5, 4, 6, 7, 8, 9, 10, 9, 8, 7, 6, 7, 8, 5, 4, 6]
score_count = [0] * 10 # 创建一个长度为10,元素都是0的列表
# 统计各等级分数的出现次数
for score in scores:
score_count[score - 1] += 1
# 输出结果
print("评分\t出现次数")
for i in range(10):
print(str(i+1)+"\t"+str(score_count[i]))
```
运行以上代码,将会得到如下输出结果:
评分 出现次数
1 2
2 0
3 0
4 3
5 5
6 7
7 7
8 6
9 8
10 2
这个结果说明,40个学生中,分数为5和9的学生最多,分数为2和3的学生没有出现。这个统计结果对于餐厅来说相当有帮助,可以针对性的改善餐厅的服务质量。
相关推荐
![](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)