题目描述
现有 N(N\le 1000)N(N≤1000) 名同学参加了期末考试,并且获得了每名同学的信息:姓名(不超过 8 个字符的仅有英文小写字母的字符串)、语文、数学、英语成绩(均为不超过 150 的自然数)。总分最高的学生就是最厉害的,请输出最厉害的学生各项信息(姓名、各科成绩)。如果有多个总分相同的学生,输出靠前的那位。
输入格式
无
输出格式
无
输入输出样例
输入
3
senpai 114 51 4
lxl 114 10 23
fafa 51 42 60
输出
senpai 114 51 4
——————————————————————
马如下:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
struct stu
{
string name;
int score[3];
int sum;
}person[n+1] ;
for(int i=0;i<n;i++)
{
cin>>person[i].name>>person[i].score[0]>>person[i].score[1]>>person[i].score[2];
person[i].sum=person[i].score[0]+person[i].score[1]+person[i].score[2];
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (person[j].sum >= person[j + 1].sum)
{
person[n] = person[j + 1];
person[j + 1] = person[j];
person[j] = person[n];
}
}
}
cout<<person[n-1].name<<" "<<person[n-1].score[0]<<" "<<person[n-1].score[1]<<" "<<person[n-1].score[2];
}
没啥槽点,基本操作;。
完结撒花
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)