1q2zb @ 2023-08-25 10:31:44
希望看到此讨论的人不要在发此题的问题了
用sort(不是稳定的排序)做的建议学习以下代码
srtuct student{int ...,ind,sum;};
bool cmp(student x,student y){
if(x.sum==y.sum)return x.ind<y.ind;
else return x.sum>y.sum;
}
int main(){
...
for(int i=1;i<=n;i++)a[i].ind=i;
sort(a+1,a+1+n,cmp);
}
by lao_wang @ 2023-08-25 10:33:37
e 所以为什么我的cmp不像你这么写还对了
by lao_wang @ 2023-08-25 10:35:12
为什么你要比较前后顺序不是可以不比么
by ninji @ 2023-08-25 10:35:48
@lao_wang 我都没用 cmp
by ninji @ 2023-08-25 10:36:03
就过了
by lao_wang @ 2023-08-25 10:38:01
@ninji e 确实也不需要
by ninji @ 2023-08-25 10:39:38
sum[i]=a[i].chinese+a[i].math+a[i].english;
if(max<sum[i]){max=sum[i];x=i;}
by 1q2zb @ 2023-08-25 11:06:07
@ninji dalao你好,我主要说的是用sort来做的人。写的不好,请您见谅。