4.输入10个学生的信息(包含学号、姓名、成绩),将其按成绩的升序排序并输出
时间: 2023-12-17 19:04:25 浏览: 142
以下是一个示例 Python 代码,可以实现输入10个学生信息,按照成绩升序排序,并输出排序结果:
```python
# 定义一个学生类
class Student:
def __init__(self, id, name, score):
self.id = id
self.name = name
self.score = score
# 输入10个学生信息
students = []
for i in range(1, 11):
id = input("请输入第%d个学生的学号:" % i)
name = input("请输入第%d个学生的姓名:" % i)
score = float(input("请输入第%d个学生的成绩:" % i))
student = Student(id, name, score)
students.append(student)
# 按照成绩升序排序
students.sort(key=lambda x: x.score)
# 输出排序结果
print("按成绩升序排序的结果:")
for student in students:
print("学号:%s,姓名:%s,成绩:%.2f" % (student.id, student.name, student.score))
```
运行代码,依次输入10个学生的信息,即可得到按照成绩升序排序的结果。
相关问题
定义一个包含学生学号、姓名、性别及三科成绩的结构体变量,从键盘输入具体数据,并输出其姓名及平均成绩。(10分)
以下是C++的代码实现:
```cpp
#include <iostream>
using namespace std;
// 定义学生结构体
struct Student {
int id; // 学号
string name; // 姓名
char gender; // 性别
float score1; // 第一科成绩
float score2; // 第二科成绩
float score3; // 第三科成绩
};
int main() {
Student stu; // 定义学生结构体变量
cout << "请输入学生学号:";
cin >> stu.id;
cout << "请输入学生姓名:";
cin >> stu.name;
cout << "请输入学生性别:";
cin >> stu.gender;
cout << "请输入第一科成绩:";
cin >> stu.score1;
cout << "请输入第二科成绩:";
cin >> stu.score2;
cout << "请输入第三科成绩:";
cin >> stu.score3;
// 计算平均成绩
float avg_score = (stu.score1 + stu.score2 + stu.score3) / 3;
// 输出姓名及平均成绩
cout << "学生姓名:" << stu.name << endl;
cout << "平均成绩:" << avg_score << endl;
return 0;
}
```
运行程序,输入学生信息,即可输出该学生的姓名及平均成绩。
10.设计一个学生类stu,属性包括姓名、学号、成绩,方法包括show()输出学生信息; 设计一个班级管理类manage,属性包括保存学生对象的列表,方法包括addstu()实现添 加学生信息、sortstu()按照学号或成绩排序(若学号或成绩相等则按输入顺序输出)、 showclass()输出所有学生信息。 输入3名学生的信息以及排序条件,定义1个manage类对象manager及stu类对象,实现将 学生信息进行升序排序并输出
好的,以下是符合要求的代码实现:
```python
class stu:
def __init__(self, name, id, score):
self.name = name
self.id = id
self.score = score
def show(self):
print("姓名:{},学号:{},成绩:{}".format(self.name, self.id, self.score))
class manage:
def __init__(self):
self.stu_list = []
def addstu(self, s):
self.stu_list.append(s)
def sortstu(self, key):
self.stu_list.sort(key=key)
def showclass(self):
for s in self.stu_list:
s.show()
# 主程序
manager = manage()
# 输入3名学生信息
s1 = stu("Tom", "1001", 80)
s2 = stu("Jerry", "1002", 90)
s3 = stu("Bob", "1003", 70)
# 添加学生信息到班级管理类对象
manager.addstu(s1)
manager.addstu(s2)
manager.addstu(s3)
# 定义排序条件函数
def sort_key(s):
return s.id
# 按照学号升序排序并输出
manager.sortstu(key=sort_key)
manager.showclass()
```
输出结果为:
```
姓名:Tom,学号:1001,成绩:80
姓名:Jerry,学号:1002,成绩:90
姓名:Bob,学号:1003,成绩:70
```
阅读全文