wypdyxfor163 @ 2019-06-10 20:32:16
using namespace std;
int num[305],tot[305],yu[305];
int main()
{
int n;
scanf("%d",&n);
for (int i=1;i<=n;i++)
{
int shu,ying;
scanf("%d%d%d",&yu[i],&shu,&ying);
tot[i]=yu[i]+shu+ying;
num [i]=i;
}
for(int i=1;i<=n;i++)
{
for(int
j=i;j<=n;j++)
if(tot[i]<tot[j]||(tot[i]==tot[j]&&yu[i]==yu[j]&&num[i]>num[j]))
{
swap(num[i] ,num[j]);
swap(yu[i] ,yu[j]);
swap(tot[i] ,tot[j]);
}
}
for(int i=1;i<=5;i++)
printf("%d %d\n",num[i],tot[i]);
return 0;
}
by _H1kar1 @ 2019-06-10 20:55:48
希望更丰富的展现?使用Markdown @wypdyxfor163
by 焚魂 @ 2019-07-11 22:35:48
我给你四点建议: 1.把数组开大10 2.排序里面的if分开写,用1个if,2个else if 3.可以用结构体,这样简洁明了,没学可以在网上查找资料看一看。 4注意一下细节,最后输出的时候多了一个回车,这在比赛里面是按照错误处理的,不管什么比赛,只要严格一点的