读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ... 第 n+1 行:第 n 个学生的姓名 学号 成绩 其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。 输出格式: 对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。 输入样例: 3 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95 输出样例: Mike CS991301 Joe Math990112
时间: 2024-04-17 07:28:32 浏览: 37
你可以使用以下Python代码来实现该功能:
```python
n = int(input()) # 输入学生数量
students = [] # 存储学生信息的列表
# 读取学生信息
for _ in range(n):
name, student_id, score = input().split()
students.append((name, student_id, int(score))) # 将成绩转换为整数并添加到列表中
# 根据成绩排序学生列表
students.sort(key=lambda x: x[2])
# 输出成绩最高和最低学生的姓名和学号
print(students[-1][0], students[-1][1])
print(students[0][0], students[0][1])
```
在这段代码中,首先读取学生数量,然后使用一个列表存储每个学生的姓名、学号和成绩。接下来,通过循环读取每个学生的信息,并将其添加到列表中。然后,使用`sort()`函数根据成绩对学生列表进行排序。最后,输出列表中最后一个元素(成绩最高)和第一个元素(成绩最低)的姓名和学号。
注意:这里假设输入的数据是按照题目要求的格式正确输入的。对于错误或异常情况,需要添加适当的错误处理代码。
相关问题
读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
可以使用一个数组来存储每个学生的姓名、学号和成绩,然后遍历数组找到成绩最高和成绩最低的学生,最后输出他们的姓名和学号即可。
具体实现可以参考以下代码:
```python
n = int(input("请输入学生人数:"))
# 定义一个二维数组,用于存储每个学生的姓名、学号和成绩
students = []
for i in range(n):
name = input("请输入第{}个学生的姓名:".format(i+1))
id = input("请输入第{}个学生的学号:".format(i+1))
score = float(input("请输入第{}个学生的成绩:".format(i+1)))
students.append([name, id, score])
# 初始化最高和最低成绩的索引
max_index = 0
min_index = 0
# 遍历数组,找到成绩最高和成绩最低的学生
for i in range(1, n):
if students[i][2] > students[max_index][2]:
max_index = i
if students[i][2] < students[min_index][2]:
min_index = i
# 输出成绩最高和成绩最低的学生的姓名和学号
print("成绩最高的学生是:{},学号是:{},成绩是:{}".format(students[max_index][0], students[max_index][1], students[max_index][2]))
print("成绩最低的学生是:{},学号是:{},成绩是:{}".format(students[min_index][0], students[min_index][1], students[min_index][2]))
```
运行程序后,输入学生的姓名、学号和成绩,程序会自动找到成绩最高和成绩最低的学生,并输出他们的姓名和学号。
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号算法
可以使用结构体来存储每个学生的信息,然后遍历所有学生,找到最高分和最低分的学生,最后输出他们的姓名和学号。
以下是示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
struct Student {
string name;
string id;
int score;
};
int main() {
int n;
cin >> n;
Student highest, lowest;
// 初始化最高分和最低分为第一个学生
cin >> highest.name >> highest.id >> highest.score;
lowest = highest;
for (int i = 1; i < n; i++) {
Student s;
cin >> s.name >> s.id >> s.score;
// 如果当前学生的成绩比最高分还高,更新最高分
if (s.score > highest.score) {
highest = s;
}
// 如果当前学生的成绩比最低分还低,更新最低分
if (s.score < lowest.score) {
lowest = s;
}
}
// 输出最高分和最低分的学生信息
cout << highest.name << " " << highest.id << endl;
cout << lowest.name << " " << lowest.id << endl;
return 0;
}
```
假设输入为:
```
3
Alice 001 80
Bob 002 90
Cindy 003 70
```
则输出为:
```
Bob 002
Cindy 003
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)