问题标题: 酷町堂:考试订正-4534

0
0
已解决
武建豪
武建豪
中级天翼
中级天翼

奇怪的马拉松赛跑

题目详情

题目描述 Description

在一场奇怪的马拉松赛跑中,运动员们不是同一时间出发,但是比赛会记录每名运动员的出发时间和到达终点的时间,最终成绩以运动员跑完全程花的时间长短来决定。
给出n名运动员的姓名以及从起点出发的时间和到达终点的时间(格式:xx xx xx表示多少小时多少分多少秒),请按照他们跑完全程花的时间从小到大排名次,按名次输出n行,每行一个姓名。

输入描述 Input Description

输入n+1行,
第一行,输入一个正整数n;
接下来n行,每行输入一名运动员的姓名,出发时间(时、分、秒),到达时间(时、分、秒),用空格隔开。

输出描述 Output Description

输出n行,为排好序的运动员姓名。

样例输入 Sample Input

2 mike 06 06 59 08 44 06 yao 04 05 06 07 34 23

样例输出 Sample Output

mike yao

数据范围及提示 Data Size & Hint

1<n<=1000,时间为24小时制,比赛会在当天结束,即结束时间不会在后一天。


0
已采纳
丁博扬
丁博扬
中级天翼
中级天翼

循环(int i=1;i<=n;i++){
        a[i].shi2=a[i].shi1*3600+a[i].fen1*60+a[i].miao1*1;
        a[i].fen2=a[i].shi*3600+a[i].fen*60+a[i].miao*1;
        a[i].miao2=a[i].shi2-a[i].fen2;
    }

这上面是把它们都转换为秒

输入

输出

丁博扬在2020-11-04 18:28:21追加了内容

这种思路可能有点乱

很容易在哪里报错

丁博扬在2020-11-07 07:38:34追加了内容

struct你知道吧

在struct里定义一个shi、fen、miao、shi1、fen1、miao1

再定义一个shi2、fen2、miao2

for先输入shi、fen、miao、shi1、fen1、miao1

然后按我的我for循环计数

丁博扬在2020-11-07 07:39:33追加了内容

bool cmp(struct名字 x,struct名字 y){
    return x.miao2<y.miao2

}

丁博扬在2020-11-07 07:40:55追加了内容

bool cmp里面是比较他们奔跑的时间

丁博扬在2020-11-07 07:41:33追加了内容

奔跑的时间就是a[i].miao2=a[i].shi2-a[i].fen2;

丁博扬在2020-11-07 07:41:55追加了内容

打字不易

望采纳

0
蔡乐毅
蔡乐毅
高级光能
高级光能

结构体

一个用来记名字

另一个用来记时间

时间=秒+60*分+3600*时

我要回答