有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),其中学号和姓名都是以字符串方式存储,计算出每名学生的平均成绩,\n\n输入格式:\n分别在5行中输入5名学生的信息。按
时间: 2023-05-02 21:01:02 浏览: 88
题目中有五个学生,每个学生都有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),其中学号和姓名都是以字符串方式存储,计算出每名学生的平均成绩,
输入格式:
分别输入5行中,输入5个学生的信息。每个学生信息占用5行,其中第二到第四行为每名学生的学号,姓名和三门成绩,每个信息用空格分隔。
输出格式:
输出5行,每行输出一个学生的平均成绩(保留2位小数),顺序按输入顺序给出。
输入样例:
001
ZhangSan
88 78 90
002
LiSi
90 80 87
003
WangWu
99 99 99
004
ZhaoLiu
45 65 23
005
TianQi
80 70 60
输出样例:
85.33
85.67
99.00
44.33
70.00
相关问题
有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),其中学号和姓名都是以字符串方式存储,计算出每名学生的平均成绩,
### 回答1:
可以使用一个嵌套的循环来计算每名学生的平均成绩。首先,需要定义一个二维数组来存储每个学生的成绩,例如:
scores = [[], [], [], [], []]
然后,可以使用一个循环来输入每个学生的成绩,例如:
for i in range(5):
print("请输入第%d个学生的信息:" % (i+1))
name = input("姓名:")
scores[i].append(name)
for j in range(3):
score = float(input("请输入第%d门课的成绩:" % (j+1)))
scores[i].append(score)
接下来,可以使用另一个循环来计算每名学生的平均成绩,例如:
for i in range(5):
name = scores[i][]
total = scores[i][1] + scores[i][2] + scores[i][3]
average = total / 3
print("%s的平均成绩为%.2f" % (name, average))
其中,scores[i][]表示第i个学生的姓名,scores[i][1]、scores[i][2]、scores[i][3]分别表示该学生的三门课成绩。total表示该学生的总成绩,average表示该学生的平均成绩。最后,使用print语句输出每名学生的平均成绩。
### 回答2:
首先,我们需要从键盘输入五个学生的信息,包括学号、姓名和三门课程的成绩。这可以通过使用Python中的input函数来完成。为了方便计算,我们可以使用列表(list)来存储每个学生的信息,每个学生的信息再使用字典(dictionary)来存储。
```
students = [] # 存储五个学生的信息的列表
# 循环五次输入每个学生的信息
for i in range(5):
student_info = {} # 存储一个学生的信息的字典
# 输入学号、姓名和三门课程的成绩
student_info['id'] = input('请输入第' + str(i+1) + '个学生的学号:')
student_info['name'] = input('请输入第' + str(i+1) + '个学生的姓名:')
student_info['score1'] = float(input('请输入该学生的第1门课程成绩:'))
student_info['score2'] = float(input('请输入该学生的第2门课程成绩:'))
student_info['score3'] = float(input('请输入该学生的第3门课程成绩:'))
students.append(student_info) # 将一个学生的信息添加到列表中
```
接下来,我们需要计算每个学生的平均分。平均分可以通过将三门课程成绩相加,再除以3来计算。我们可以创建一个函数来完成这个计算。
```
def average_score(scores):
return sum(scores) / len(scores)
```
接着,我们可以使用循环来遍历每个学生的信息,计算每个学生的平均分,并将结果输出。
```
# 输出每个学生的平均分
for student in students:
avg_score = average_score([student['score1'], student['score2'], student['score3']])
print(student['name'], '的平均分是:', avg_score)
```
最终,我们就可以得到每个学生的平均分了。完整代码如下:
```
# 计算平均分的函数
def average_score(scores):
return sum(scores) / len(scores)
students = [] # 存储五个学生的信息的列表
# 循环五次输入每个学生的信息
for i in range(5):
student_info = {} # 存储一个学生的信息的字典
# 输入学号、姓名和三门课程的成绩
student_info['id'] = input('请输入第' + str(i+1) + '个学生的学号:')
student_info['name'] = input('请输入第' + str(i+1) + '个学生的姓名:')
student_info['score1'] = float(input('请输入该学生的第1门课程成绩:'))
student_info['score2'] = float(input('请输入该学生的第2门课程成绩:'))
student_info['score3'] = float(input('请输入该学生的第3门课程成绩:'))
students.append(student_info) # 将一个学生的信息添加到列表中
# 输出每个学生的平均分
for student in students:
avg_score = average_score([student['score1'], student['score2'], student['score3']])
print(student['name'], '的平均分是:', avg_score)
```
### 回答3:
可以通过以下步骤解决这个问题:
1. 定义一个学生类Student,包含学号、姓名以及三门课的成绩,以及计算平均成绩的方法。
```
class Student:
def __init__(self, id, name, score1, score2, score3):
self.id = id
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
def avg_score(self):
return (self.score1 + self.score2 + self.score3) / 3
```
2. 从键盘输入五个学生的信息,并创建相应的学生对象。
```
students = []
for i in range(5):
id = input("请输入学生{}的学号:".format(i+1))
name = input("请输入学生{}的姓名:".format(i+1))
score1 = float(input("请输入学生{}的第一门课的成绩:".format(i+1)))
score2 = float(input("请输入学生{}的第二门课的成绩:".format(i+1)))
score3 = float(input("请输入学生{}的第三门课的成绩:".format(i+1)))
student = Student(id, name, score1, score2, score3)
students.append(student)
```
3. 遍历所有学生对象,计算每个学生的平均成绩,并输出结果。
```
for student in students:
print("{}的平均成绩为:{}".format(student.name, student.avg_score()))
```
完整代码如下所示:
```
class Student:
def __init__(self, id, name, score1, score2, score3):
self.id = id
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
def avg_score(self):
return (self.score1 + self.score2 + self.score3) / 3
students = []
for i in range(5):
id = input("请输入学生{}的学号:".format(i+1))
name = input("请输入学生{}的姓名:".format(i+1))
score1 = float(input("请输入学生{}的第一门课的成绩:".format(i+1)))
score2 = float(input("请输入学生{}的第二门课的成绩:".format(i+1)))
score3 = float(input("请输入学生{}的第三门课的成绩:".format(i+1)))
student = Student(id, name, score1, score2, score3)
students.append(student)
for student in students:
print("{}的平均成绩为:{}".format(student.name, student.avg_score()))
```
用c语言 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),其中学号和姓名都是以字符串方式存储,计算出每名学生的平均成绩
好的,这是一个计算每名学生平均成绩的问题,我可以回答。以下是一个用 C 语言编写的程序,可以实现这个功能:
```c
#include <stdio.h>
#include <string.h>
#define NUM_STUDENTS 5
#define NUM_GRADES 3
struct student {
char id[20];
char name[20];
float grades[NUM_GRADES];
};
int main() {
struct student students[NUM_STUDENTS];
int i, j;
// 从键盘输入学生信息和成绩
for (i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第%d个学生的学号、姓名和三门课成绩:\n", i + 1);
scanf("%s %s", students[i].id, students[i].name);
for (j = 0; j < NUM_GRADES; j++) {
scanf("%f", &students[i].grades[j]);
}
}
// 计算每名学生的平均成绩并输出
for (i = 0; i < NUM_STUDENTS; i++) {
float sum = 0;
for (j = 0; j < NUM_GRADES; j++) {
sum += students[i].grades[j];
}
float avg = sum / NUM_GRADES;
printf("%s的平均成绩为%.2f\n", students[i].name, avg);
}
return 0;
}
```
这个程序定义了一个 `student` 结构体,包含学生的学号、姓名和三门课成绩。程序首先从键盘输入每名学生的信息和成绩,然后计算每名学生的平均成绩并输出。注意,这里使用了一个常量 `NUM_STUDENTS` 表示学生的数量,以及一个常量 `NUM_GRADES` 表示每名学生的成绩数量,这样可以方便地修改程序以适应不同的情况。
阅读全文