牛客网 2018年湘潭大学程序设计竞赛 A 时间统计

链接: https://www.nowcoder.com/acm/contest/105/A
来源:牛客网

题目描述

某个实验需要统计时间,记录了实验开始和结束的时间,计算实验用了多少秒。 

输入描述:

第一行输入一个整数n,表示样例个数。接下来每组样例两行,表示开始时间和结束时间,格式为xdayHH:MM:SS,x是一个整数表示第几天,0 < x < 20000,HH表示小时,MM表示分钟,SS表示秒,保证时间合法,结束时间比开始时间晚。

输出描述:

每组数据输出一行一个整数,表示经过的秒数。

输入

2
1day03:26:12
1day04:26:12
123day15:00:01
19999day15:00:00

输出

3600
1717286399
#include<stdio.h>
struct time {
     int day;
     int hour,min,sec;
}a[2];
int main()
{
     int n,i;
     scanf ( "%d" ,&n);
     while (n--)
     {
         double s=0;
         scanf ( "%dday%d:%d:%d" ,&a[0].day,&a[0].hour,&a[0].min,&a[0].sec);    //按题目要求读入数据
         scanf ( "%dday%d:%d:%d" ,&a[1].day,&a[1].hour,&a[1].min,&a[1].sec);
         if (a[1].sec<a[0].sec)            //计算秒
         {
             a[1].sec+=60;
             a[1].min--;        
         }
         s+=a[1].sec-a[0].sec;

         if (a[1].min<a[0].min)           //计算分
         {
             a[1].min+=60;
             a[1].hour--;       
         }
         s+=(a[1].min-a[0].min)*60;
         if (a[1].hour<a[0].hour)
         {
             a[1].hour+=24;
             a[1].day--;        
         }
         s+=(a[1].hour-a[0].hour)*3600;
         s+=(a[1].day-a[0].day)*24*3600;
         printf ( "%.0lf\n" ,s);
     }
     return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值