xhz0311 @ 2022-12-05 18:41:47
求帮助,可以过样例,但全WA
#include <cstdio>
using namespace std;
struct stu{
char name[8];
int yw;
int sx;
int yy;
int sum;
};
int main()
{
int k;
scanf("%d",&k);
struct stu m,n;
for (int j=0; j<8; j++)
{
scanf("%c",&m.name[j]);
if (int (m.name[j])==32)
{
break;
}
}
scanf("%d",&m.yw);
scanf("%d",&m.sx);
scanf("%d",&m.yy);
m.sum=m.yw+m.sx+m.yy;
for (int i=1; i<k; i++)
{
for (int j=0; j<8; j++)
{
scanf("%c",&n.name[j]);
if (n.name[j]==32)
{
break;
}
}
scanf("%d",&n.yw);
scanf("%d",&n.sx);
scanf("%d",&n.yy);
n.sum=n.yw+n.sx+n.yy;
}
if (n.sum > m.sum)
{
m=n;
}
for (int i=0; i<=7; i++)
{
if (m.name[i]==' ')
{
break;
}
printf("%c",m.name[i]);
}
printf(" %d %d %d",m.yw, m.sx,m.yy);
return 0;
}
by _Virgo_ @ 2022-12-05 19:34:15
@xhz0311 啊这这这……(巧了不是
by _Virgo_ @ 2022-12-05 19:36:00
@Virgo 刚好没讲的基础语法就是string,唯一不让用的就是sort。。。
不过后面比赛也没人手写 sort 吧。
by lucky_loser @ 2022-12-05 19:58:13
一个for循环就行了
#include<bits/stdc++.h>
using namespace std;
int main()
{
string name,name1;
int cn,math,en,n,max=-1,ans,cn1,math1,en1;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>name>>cn>>math>>en;
ans=cn+math+en;
if(ans>max)
{
max=ans;
name1=name;
cn1=cn;
math1=math;
en1=en;
}
}
cout<<name1<<" "<<cn1<<" "<<math1<<" "<<en1;
return 0;
}