#include<iostream>#include<string>using namespace std;struct Student{ string name; int score;

#include<iostream>
#include<string>
using namespace std;
struct Student
{
    string name;
    int score;
};
struct Teacher
{
    string name;
    Student StudentArr[5];
};
void list(Teacher TeacherArr[], int len)
{
    for (int i = 0; i < len; i++)
    {
        string num = "ABCDE";
        TeacherArr[i].name = "Teacher_";
        TeacherArr[i].name = TeacherArr[i].name + num[i];
        cout << TeacherArr[i].name <<"老师带的学生有:"<< endl;
        for (int j = 0; j < 5; j++)
        {
            string num2 = "ABCDE";
            TeacherArr[i].StudentArr[j].name = "Student_";
            TeacherArr[i].StudentArr[j].name = TeacherArr[i].StudentArr[j].name + num2[j];
            cout << TeacherArr[i].StudentArr[j].name << endl;
        
        }
        cout << endl;
    }

int main()
{
    Teacher TeacherArr[3];
    int len = sizeof(TeacherArr) / sizeof(TeacherArr[0]);
    list(TeacherArr, len);
    system("pause");
    return 0;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是用 C++ 实现的,它能够解决从一堆学生中找最高分和最低分的问题。它使用了 STL 中的 vector 容器和 sort 函数来存储和排序所有学生的信息。以下是代码的详细解释: ```cpp #include <iostream> #include <cstdio> #include <string> #include <algorithm> #include <vector> using namespace std; // 定义一个结构体来存储学生的信息 struct Student { string name; // 学生姓名 string id; // 学生学号 int score; // 学生成绩 }; // 定义一个比较函数,用于在排序时比较学生的成绩 bool compare(Student s1, Student s2) { return s1.score < s2.score; // 按照成绩从小到大排序 } int main() { int n; while (scanf("%d", &n) != EOF) { // 循环读入每个测试用例 vector<Student> students; // 定义一个 vector 来存储所有学生的信息 for (int i = 0; i < n; i++) { // 循环读入每个学生的信息 string name, id; int score; cin >> name >> id >> score; students.push_back({name, id, score}); // 将学生的信息存储到 vector 中 } sort(students.begin(), students.end(), compare); // 对所有学生按照成绩从小到大排序 cout << students.back().name << " " << students.back().id << " " << students.back().score << endl; // 输出成绩最高的学生信息 cout << students.front().name << " " << students.front().id << " " << students.front().score << endl; // 输出成绩最低的学生信息 cout << endl; // 输出空行,用于分隔每个测试用例 } return 0; } ``` 以上程序使用了 `vector` 容器来存储所有学生的信息。在每个测试用例中,它会首先读入一个正整数 n,表示这个测试用例中有 n 个学生的信息需要处理。然后,它会循环读入每个学生的姓名、学号和成绩,将这些信息存储到一个 `Student` 结构体中,并将这个结构体存储到 `vector` 中。接着,它会使用 `sort` 函数将所有学生按照成绩从小到大排序。 最后,它会使用 `back` 函数来访问 `vector` 中最后一个元素,即成绩最高的学生,然后输出这个学生的姓名、学号和成绩。类似地,它会使用 `front` 函数来访问 `vector` 中第一个元素,即成绩最低的学生,然后输出这个学生的姓名、学号和成绩。每个测试用例之间会输出一个空行,用于分隔它们。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值