链接:
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;
}