【题目描述】
已知学生信息包括姓名、某门课程成绩,输入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;
}