m1895 @ 2021-05-03 09:26:57
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a;
cin>>a;
struct student{
char name[20];
int c;
int m;
int e;
int z;
}M[a+1];
for(int i=0;i<a;i++)
{
cin>>M[i].name>>M[i].c>>M[i].m>>M[i].e;
M[i].z=M[i].c+M[i].m+M[i].e;
}
for(int i=0;i<a;i++)
{
for(int j=i+1;j<=a;j++)
{
if(M[i].z>=M[j].z)
{
cout<<M[i].name<<" "<<M[i].c<<" "<<M[i].m<<" "<<M[i].e;
return 0;
}
else if(M[j].z>M[i].z)
{
cout<<M[j].name<<" "<<M[j].c<<" "<<M[j].m<<" "<<M[j].e;
return 0;
}
}
}
return 0;
}
求助,第三个点过不了
by 老牧童与戈戈 @ 2021-05-15 18:43:41
要输出总分最高且最靠前的,你这个只是输出了总分最高的
by m1895 @ 2021-05-17 17:08:07
@老牧童与戈戈 但是我错的点只有一个人。。。
by 老牧童与戈戈 @ 2021-05-17 19:16:47
建议用sort
by 老牧童与戈戈 @ 2021-05-17 19:17:38
你这个只有一个人的情况下要特判,不然不会输出
by m1895 @ 2021-05-19 18:20:50
谢谢