已知3个学生的5门课程的成绩,将其存入一个二维数组,要求输出每名学生的总成绩、平均成绩和总平均成绩。
时间: 2023-06-05 18:47:05 浏览: 221
可以先定义一个二维数组,存储3个学生的5门课程成绩,例如:
scores = [[80, 90, 85, 75, 95], [70, 85, 90, 80, 75], [90, 95, 80, 85, 90]]
然后可以使用循环计算每名学生的总成绩和平均成绩,以及所有学生的总平均成绩,例如:
total_scores = [0, 0, 0] # 存储每名学生的总成绩
total_average = 0 # 存储所有学生的总平均成绩
for i in range(len(scores)):
total = sum(scores[i]) # 计算每名学生的总成绩
average = total / len(scores[i]) # 计算每名学生的平均成绩
total_scores[i] = total # 存储每名学生的总成绩
total_average += average # 累加每名学生的平均成绩
# 输出每名学生的总成绩、平均成绩和总平均成绩
for i in range(len(scores)):
print("学生{}的总成绩为{},平均成绩为{}".format(i+1, total_scores[i], total_scores[i]/len(scores[i])))
print("所有学生的总平均成绩为{}".format(total_average/len(scores)))
相关问题
有M名学生,学习N门课程,已知所有学生的各科成绩,采用二维数组编程,分别求每位学生的总分和每门课程的平均成绩
好的,针对你的问题,你可以这样编写代码:
```python
# 假设有 3 名学生和 4 门课程
M = 3
N = 4
# 假设学生成绩如下
scores = [
[80, 90, 70, 85],
[75, 85, 95, 70],
[90, 80, 75, 80]
]
# 计算每位学生的总分和每门课程的平均成绩
total_scores = [sum(scores[i]) for i in range(M)]
avg_scores = [sum(scores[i][j] for i in range(M)) / M for j in range(N)]
# 输出结果
print("每位学生的总分:", total_scores)
print("每门课程的平均成绩:", avg_scores)
```
这段代码首先定义了学生数目和课程数目,以及学生成绩的二维数组。然后使用列表推导式计算每位学生的总分和每门课程的总分,最后用总分除以人数得到平均成绩。最后输出结果。
C语言实现已知m个人n门课的成绩,请利用二维数组编程求每个人的平均成绩。
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int m, n;
printf("请输入人数m和课程数n:");
scanf("%d %d", &m, &n);
int scores[m][n];
for (int i = 0; i < m; i++) {
printf("请输入第%d个人的%d门课成绩:", i + 1, n);
for (int j = 0; j < n; j++) {
scanf("%d", &scores[i][j]);
}
}
for (int i = 0; i < m; i++) {
int sum = 0;
for (int j = 0; j < n; j++) {
sum += scores[i][j];
}
printf("第%d个人的平均成绩为%.2f\n", i + 1, (float)sum / n);
}
return 0;
}
```
这个程序会先让用户输入人数m和课程数n,然后使用二维数组scores存储每个人的成绩。接着,程序会计算每个人的平均成绩,并输出结果。注意,这里使用了强制类型转换将sum转换为float类型,以便计算平均值。