错题总结08.12

今天讲了sort函数的使用方式,虽然之前知道一点,但却只懂一些皮毛,再加上今天的结构体,弄的我现在还有点小懵逼。

 刷题的时候还是有些小问题。

#include<bits/stdc++.h>
using namespace std;
struct student
    {
     int score,chinese,id;
    };
bool mycmp(student x,student y)
 {
 return((x.score>y.score)
        ||((x.score==y.score)&&(x.chinese>y.chinese))
  ||((x.score==y.score)&&(x.chinese==y.chinese)&&(x.id<y.id)));//这里之前整个错了,首先没有声明bool变量,而且声明的不是student而是int,并且
}                                                                                                     上一步声明的变量为a,b,下一行就变成了x,y,这些错误都是不该出现的。
int main()
{
  
    student a[310];
    int n,chinese,math,english;
    cin>>n;
    for(int i=0;i<n;i++)
    {
     cin>>chinese>>math>>english;
     a[i].score=chinese+math+english;
     a[i].chinese=chinese;
     a[i].id=i+1;
    }
    sort(a,a+n,mycmp);
    for(int i=0;i<5;i++)
    cout<<a[i].id<<' '<<a[i].score<<endl;
 return 0;
}

 

posted @ 2017-08-12 21:16  礿尧  阅读(79)  评论(0)    收藏  举报