大佬们,看看这个题,小弟不会。

【题目描述】

已知学生信息包括姓名、某门课程成绩,输入n个学生信息,输出成绩最高的学生信息。

学生结构体类型的定义如下:

typedef struct student

{

char name[10];

int score;

}STUDENT;

【输入描述】

多行,第一行为一个整数n,表示学生数。

后面有n行,为n个学生的信息,其中每个学生信息包括一个无空格的字符串和一个整数。

【输出描述】

可能有多行,每行为一个学生信息,包括姓名和成绩,中间有一个空格
【样例输入】

3

Zhang 70

Wang 99

Liu 87

【样例输出】

Wang 99

你定义一个结构体数组 然后循环进行赋值 循环条件就是你输入的 第一个数 。 之后便利数组 用一个标记记录数组中成绩最大的一个 成绩最大的一个设置为你数组第一个元素
然后遍历就行了 找出最大的 一个只会输出 姓名+“ ” + 成绩就好了

#include <iostream>

using namespace std;

struct student
{
    char name[10];
    int score;
};

int main ()
{
    int n;
    cin >> n;
    student stu[n];
    for (int i = 0; i < n; i ++)
        cin >> stu[i].name >> stu[i].score;

    int max = stu[0].score, cont = 0;
    for (int i = 1; i < n; i ++)
        if (max < stu[i].score)
        {
            max = stu[i].score;
            cont = i;
        }
    cout << stu[cont].name << ' ' << stu[cont].score;
    return 0;
}