输入5个学生的三门成绩求每一科平均成绩和每一位学生的平均成绩
时间: 2023-09-07 15:11:05 浏览: 57
好的,这是一个统计问题,您可以先输入每个学生的三门成绩,然后计算每一科的平均成绩和每一位学生的平均成绩。以下是示例代码:
```python
scores = []
for i in range(5):
print("请输入第%d位学生的三门成绩:" % (i+1))
score1, score2, score3 = map(int, input().split())
scores.append([score1, score2, score3])
# 计算每一科的平均成绩
avg_scores = [sum(i)/5 for i in zip(*scores)]
print("每一科的平均成绩分别为:%.2f, %.2f, %.2f" % (avg_scores[0], avg_scores[1], avg_scores[2]))
# 计算每一位学生的平均成绩
avg_student_scores = [sum(i)/3 for i in scores]
print("每一位学生的平均成绩分别为:%.2f, %.2f, %.2f, %.2f, %.2f" % tuple(avg_student_scores))
```
当然,实际使用时还需要考虑异常情况等细节,这里只是提供一个简单的示例。
相关问题
写一个c程序输入学生的三门成绩并计算平均值
### 回答1:
好的,以下是一个C程序,用于输入学生的三门成绩并计算平均值:
```c
#include <stdio.h>
int main()
{
float score1, score2, score3, average;
printf("请输入学生的三门成绩:\n");
scanf("%f %f %f", &score1, &score2, &score3);
average = (score1 + score2 + score3) / 3;
printf("平均成绩为:%.2f\n", average);
return 0;
}
```
注意,这里使用了float类型来存储成绩和平均值,这是因为成绩可能包含小数部分。另外,输出平均值时使用了"%.2f"格式化字符串,这将结果保留两位小数。
### 回答2:
下面是一个用C语言编写的程序,用于输入学生的三门成绩并计算平均值:
```c
#include <stdio.h>
int main() {
float score1, score2, score3, average;
printf("请输入学生的三门成绩:\n");
printf("成绩1:");
scanf("%f", &score1);
printf("成绩2:");
scanf("%f", &score2);
printf("成绩3:");
scanf("%f", &score3);
average = (score1 + score2 + score3) / 3;
printf("该学生的平均成绩为:%f\n", average);
return 0;
}
```
程序开始时,声明了四个变量:`score1`、`score2`、`score3`用于存储学生的三门成绩,`average`用于存储平均成绩。
然后,程序通过`printf`函数向用户提示输入学生的三门成绩,并使用`scanf`函数分别接收用户的输入。
接下来,程序通过`average = (score1 + score2 + score3) / 3`计算三门成绩的平均值,并将结果存储在`average`变量中。
最后,程序使用`printf`函数输出平均成绩。
希望以上的说明能够解答你的问题!
### 回答3:
下面是用C语言编写的程序,可以输入学生的三门成绩并计算平均值。
```c
#include <stdio.h>
int main() {
float score1, score2, score3, average;
printf("请输入学生的第一门成绩:");
scanf("%f", &score1);
printf("请输入学生的第二门成绩:");
scanf("%f", &score2);
printf("请输入学生的第三门成绩:");
scanf("%f", &score3);
average = (score1 + score2 + score3) / 3;
printf("学生的平均成绩为:%.2f\n", average);
return 0;
}
```
运行程序后,会先提示用户输入第一门成绩,然后输入第二门成绩,最后输入第三门成绩。程序会将这三门成绩相加,并除以3得到平均值,然后将平均值输出给用户。
请注意,这里的成绩是使用浮点数表示的,以便于计算平均值。而输出的平均成绩使用了"%.2f"格式控制符,保留两位小数进行显示。如果你需要显示更多位小数,可以进行相应的修改。
C语言代码实现五位学生三门课程成绩的平均值和最高分最低分
可以的,这是一道关于编程的问题。以下是一个示例程序,实现了这个功能:
```
#include <stdio.h>
int main() {
int scores[5][3]; // 保存五个学生的三门成绩
int i, j;
float avg[3] = {0}; // 分别保存三门成绩的平均值
int max[3] = {0}; // 分别保存三门成绩的最高分
int min[3] = {100}; // 分别保存三门成绩的最低分,初值为100
// 输入五个学生的成绩
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的成绩(格式为 数学 英语 语文):", i+1);
scanf("%d%d%d", &scores[i][0], &scores[i][1], &scores[i][2]);
}
// 计算每门成绩的平均值、最高分和最低分
for (j = 0; j < 3; j++) {
for (i = 0; i < 5; i++) {
avg[j] += scores[i][j];
if (scores[i][j] > max[j]) {
max[j] = scores[i][j];
}
if (scores[i][j] < min[j]) {
min[j] = scores[i][j];
}
}
avg[j] /= 5;
}
// 输出结果
printf("数学:平均分=%.2f,最高分=%d,最低分=%d\n", avg[0], max[0], min[0]);
printf("英语:平均分=%.2f,最高分=%d,最低分=%d\n", avg[1], max[1], min[1]);
printf("语文:平均分=%.2f,最高分=%d,最低分=%d\n", avg[2], max[2], min[2]);
return 0;
}
```
程序中定义了一个二维数组 `scores`,保存了五个学生的三门成绩,接着用两层循环分别求出每门成绩的平均值、最高分和最低分,最后输出结果。注意输出的格式要符合题目要求。