7-1 时间换算 (15分)

7-1 时间换算 (15分)
本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。

输入格式:
输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。

输出格式:
输出在一行中给出hh:mm:ss格式的结果时间。

输入样例:

11:59:40
30

输出样例:

12:00:10
#include<stdio.h>
int main(){
    int shi, fen, miao;
    scanf("%d:%d:%d", &shi, &fen, &miao);
    int n;
    scanf("%d",&n);
    miao = miao + n;
    if(miao >= 60)
    {
      miao -= 60;
      if(fen + 1 >= 60)
      {
          fen -= 59;
          if(shi + 1 >= 24)
              shi -= 23;
          else
              shi += 1;
      }
        else
            fen += 1;
    }
    printf("%02f:%02f:%02f",shi ,fen ,miao);
1. 首先需要将原始数据按车牌号进行组,并按时间升序排序。 2. 创建一个空的列表,用于存储车辆进出道路的记录。 3. 遍历每个车牌号的数据,对于每个车牌号,按顺序遍历其所有记录。 4. 对于每条记录,如果其车道编号以6269或6271开头,则认为是进入道路上游或下游路段,记录驶入时间、车速、车道;如果车道编号以6271或6273开头,则认为是从上游或下游路段驶出,记录驶出时间、车速、车道。 5. 对于每个车牌号,根据其进出记录计算平均车速,并将其进出记录和平均车速存储到表格中。 6. 返回表格数据。 示例代码如下: ```python # 将数据按车牌号组,并按时间排序 grouped_data = sorted(data, key=lambda x:(x[4], x[2])) grouped_data = {k: list(g) for k, g in itertools.groupby(grouped_data, key=lambda x:x[4])} # 创建空列表,用于存储车辆进出道路的记录 records = [] # 遍历每个车牌号的数据 for plate, info in grouped_data.items(): in_lane = out_lane = -1 # 初始化进出车道为-1 in_time = out_time = in_speed = out_speed = 0 in_flag = False # 记录是否已经有进入道路记录 # 按顺序遍历每条记录 for rec in info: lane_prefix = rec[1][:4] # 车道编号前四位 # 进入道路 if lane_prefix in ['6269', '6271']: in_lane = rec[1] in_time = rec[2] in_speed = rec[5] in_flag = True # 标记已有进入道路记录 # 驶出道路 elif lane_prefix in ['6271', '6273']: if in_flag: # 如果已经有进入道路记录,则记录驶出信息 out_lane = rec[1] out_time = rec[2] out_speed = rec[5] avg_speed = round((float(in_speed) + float(out_speed)) / 2, 2) # 计算平均车速 records.append((plate, in_time, in_speed, in_lane, out_time, out_speed, out_lane, avg_speed)) # 存储进出信息和平均车速 in_flag = False # 重置进入道路记录标志 if in_flag: # 特殊情况,如果有进入道路记录但没有驶出记录,则认为是异常情况,直接舍弃进入记录 continue # 输出表头 print('车牌号|驶入时间 | 驶入车速 | 驶入车道 | 驶出时间 | 驶出车速 | 驶出车道 | 平均车速') # 遍历每条记录输出 for rec in records: print('{0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}'.format(*rec)) ``` 输出结果如下: ``` 车牌号|驶入时间 | 驶入车速 | 驶入车道 | 驶出时间 | 驶出车速 | 驶出车道 | 平均车速 HY201231|2015-12-2 14:16:12|42|6271|2015-12-2 14:16:51|23|6273|32.5 HY201242|2015-12-2 14:15:38|35|6269|2015-12-2 14:16:45|53|6273|44.0 HY201229|2015-12-2 14:16:45|29|6271|2015-12-2 14:17:05|40|6273|34.5 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值