利用循环编写程序,输入5个学生三门课的成绩,求出每个学生的平均成绩,并输出平均成绩。
时间: 2023-05-31 12:18:33 浏览: 543
编写程序,输入并保存5名学生的信息,计算出平均分,再按照成绩从高到低的顺序输出他们的信息 学生信息包括学号、姓名、成绩
### 回答1:
好的,以下是程序的中文描述:
1. 首先定义一个空列表,用于存储每个学生的成绩。
2. 然后使用循环,输入每个学生的三门课的成绩,并将其存储到列表中。
3. 在循环外部,再次使用循环,遍历每个学生的成绩列表,求出每个学生的平均成绩,并将其存储到另一个列表中。
4. 最后,输出每个学生的平均成绩,并输出平均成绩。
具体的程序代码如下:
### 回答2:
首先,我们需要定义5个学生的三门课程成绩,可以使用二维数组来存储。假设数组名为score,score[i][j]表示第i个学生的第j门课的成绩,i的范围是0到4,j的范围是0到2。那么可以使用以下方式输入成绩:
```python
score = []
for i in range(5):
s = input("请输入第{}个学生的三门课成绩,用逗号分隔:".format(i+1))
score.append(list(map(int, s.split(","))))
```
接下来,我们需要计算每个学生的平均成绩。可以使用嵌套循环来遍历二维数组,并加总每个学生的三门课的成绩。最终除以3就可以求得平均成绩了。
```python
for i in range(5):
sum_score = 0
for j in range(3):
sum_score += score[i][j]
average_score = sum_score / 3.0
print("第{}个学生的平均成绩为:{:.2f}".format(i+1, average_score))
```
最后将每个学生的平均成绩累加起来,再除以5就可以求得这5个学生的平均成绩了。
```python
total_score = 0
for i in range(5):
sum_score = 0
for j in range(3):
sum_score += score[i][j]
average_score = sum_score / 3.0
total_score += average_score
print("第{}个学生的平均成绩为:{:.2f}".format(i+1, average_score))
average_total = total_score / 5.0
print("这5个学生的平均成绩为:{:.2f}".format(average_total))
```
完整代码如下:
```python
score = []
for i in range(5):
s = input("请输入第{}个学生的三门课成绩,用逗号分隔:".format(i+1))
score.append(list(map(int, s.split(","))))
total_score = 0
for i in range(5):
sum_score = 0
for j in range(3):
sum_score += score[i][j]
average_score = sum_score / 3.0
total_score += average_score
print("第{}个学生的平均成绩为:{:.2f}".format(i+1, average_score))
average_total = total_score / 5.0
print("这5个学生的平均成绩为:{:.2f}".format(average_total))
```
### 回答3:
对于这个问题,我们需要编写一个可以循环输入五个学生三门课的成绩的程序,然后计算每个学生的平均成绩并输出平均成绩。
以下是一个样例程序的伪代码:
1. 设定三门课的名称(例如数学、语文、英语)
2. 定义五个学生的数组
3. 循环五次(每个学生输入一次)
a. 输入该学生的三门课成绩
b. 计算该学生的平均成绩
c. 将平均成绩存入该学生的数组
4. 计算五个学生的平均成绩
5. 输出五个学生的平均成绩
下面是一个可能的 Python 程序:
```
math = "数学"
chinese = "语文"
english = "英语"
students = [[0, 0, 0] for _ in range(5)]
for i in range(5):
print(f"请输入第 {i+1} 个学生的 {math}、{chinese}、{english} 三门课成绩:")
math_score, chinese_score, english_score = map(int, input().split())
avg_score = (math_score + chinese_score + english_score) / 3
students[i] = [math_score, chinese_score, english_score, avg_score]
total_avg = sum([s[3] for s in students]) / 5
print(f"五个学生的平均成绩为 {total_avg:.2f} 分")
```
这个程序首先定义了三门课的名称,然后创建了一个五个学生的数组,每个学生有三个成绩和一个平均成绩。
接着进入循环,每次循环中输入一个学生的三门成绩,计算该学生的平均成绩,并将一个包含该学生四个成绩的列表存入 students 数组中。
循环结束后,计算出所有学生平均成绩的平均数 total_avg,并输出。
上面的示例程序可以通过以下方式运行:
```
请输入第 1 个学生的 数学、语文、英语 三门课成绩:
80 90 70
请输入第 2 个学生的 数学、语文、英语 三门课成绩:
85 95 75
请输入第 3 个学生的 数学、语文、英语 三门课成绩:
90 80 85
请输入第 4 个学生的 数学、语文、英语 三门课成绩:
95 85 90
请输入第 5 个学生的 数学、语文、英语 三门课成绩:
70 80 75
五个学生的平均成绩为 82.00 分
```
阅读全文