杭电acm给队员成绩进行排名

2020-07-12 教育 48阅读
#include 
#include 
#include 
#include 
using namespace std;
struct data
{
    char name[10];
    int minute;
    int second;
    int rnk;
    bool inline friend operator < (data a, data b)
    {
        if (a.minute        else if (a.minute>b.minute ) return false;
        else if (a.second        else if (a.second>b.second) return false;
        else return (strcmp(a.name,b.name)<0?true:false);
    }
}student[1000];
int main()
{
    int n;
    while (scanf("%d",&n),n)
    {
        for (int i=0;i            scanf("%s %d:%d",student[i].name,&student[i].minute,&student[i].second);
        sort(student,student+n);
        student[0].rnk=1;
        for (int i=1;i            if (student[i].minute==student[i-1].minute && student[i].second==student[i-1].second)
                student[i].rnk=student[i-1].rnk;
            else
                student[i].rnk=i+1;
        for (int i=0;i            printf("%s %d:%02d %d\n",student[i].name,student[i].minute,student[i].second,student[i].rnk);
    }
    return 0;
}

为啥不把题号贴上……

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com