问题标题: 酷町堂:4234 萌新求助大佬

0
0
已解决
被禁言 何冯成
何冯成
中级光能
中级光能

如何将学号从小到大排序

本人WA代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
int n;
struct tl{
    int f,id;
}a[1111111];
bool cmp(tl x,tl y){
    return x.f>y.f;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
    cin>>a[i].f;
    a[i].id=i;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=3;i++){
    cout<<a[i].id<<" ";
}
cout<<endl;
for(int i=n;i>=n-2;i--){
    cout<<a[i].id<<" ";
}
return 0;
}

求大佬们找错


0
已采纳
徐子玄
徐子玄
初级光能
初级光能

你不是发过一个贴吗???帖中说酷町堂给你发了一个假期作业吗???我依稀还记得有一道题叫“植树积分(point)”,对吧???

不记得的话,自己去补脑。。。(题号1167,两题一模一样!)

0
0
侯平仄
侯平仄
新手天翼
新手天翼

sort排

定义cmp排序规则

0
0
张亦阳
张亦阳
资深守护
资深守护
  • sort(a+1,a+n+1,cmp);
  • for(int i=1;i<=3;++i)b[i]=a[i].num;
  • sort(b+1,b+3+1,cmp2);
  • for(int i=1;i<=3;++i)c[i]=a[n-i+1].num;
  • sort(c+1,c+3+1,cmp2);
  • for(int i=1;i<=3;++i)cout<<b[i]<<" ";
  • cout<<endl;
  • for(int i=1;i<=3;++i)cout<<c[i]<<" ";

输出

cmp和其他自己想

我要回答