H2230823083 @ 2023-07-23 21:38:21
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int cmp(int a,int b)
{
return a>b;
}
int main()
{
int n,gg=0;
int i;
int y;
int arr[305];//语文成绩
int brr[305];//数学成绩
int crr[305];//英语成绩
int srr[305];//总分
int grr[305];//总分备份
int j;
int temp;
int sum=0;
cin>>n;
for(i=0;i<n;i++)
{
cin>>arr[i]>>brr[i]>>crr[i];
}
for(i=0;i<n;i++)
{
srr[i]=arr[i]+brr[i]+crr[i];
grr[i]=arr[i]+brr[i]+crr[i];
}
sort(srr,srr+n,cmp);//排序
y=unique(srr,srr+n)-srr;//去重
for(i=0;i<y;i++)
{
if(gg==5)
break;
for(j=0;j<n;j++)
{
if(srr[i]==grr[j])
{
if(gg==5)
break;
cout<<j+1<<" "<<srr[i]<<endl;
gg++;
}
}
}
return 0;
}
by AceKnightPuppet @ 2023-07-23 21:50:13
#include <bits/stdc++.h>
using namespace std;
struct student{
int a,b,c,sum,cnt;
};
student st[1005];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>st[i].a>>st[i].b>>st[i].c;
st[i].sum=st[i].a+st[i].b+st[i].c;
st[i].cnt=i;
}
for(int i=1;i<=n;i++)
for(int j=2;j<=n;j++){
if(st[j-1].sum<st[j].sum) swap(st[j],st[j-1]);
if(st[j].sum==st[j-1].sum){
if(st[j-1].a<st[j].a) swap(st[j],st[j-1]);
if(st[j-1].a==st[j].a){
if(st[j].cnt<st[j-1].cnt) swap(st[j],st[j-1]);
}
}
}
for(int i=1;i<=5;i++){
cout<<st[i].cnt<<" "<<st[i].sum<<endl;
}
return 0;
}
100分
by JYW2011 @ 2023-07-23 21:50:20
Chat原话
by H2230823083 @ 2023-07-23 22:09:45
@JYW2011 这不是跟没改一样吗?
by H2230823083 @ 2023-07-23 22:14:38
@AceKnightPuppet 可以看看我的错在哪里吗QvQ
by AceKnightPuppet @ 2023-07-24 20:04:51
@H2230823083 你这种写法我看不懂,私信吧,你讲一下你的思路