您的位置:首页 > 其它

[ACM]时间计算器

2015-12-01 12:42 197 查看

Input

多组输入数据。

每组数据为两个字符串,每个字符串占一行。

字符串格式为"hh:mm",其中00<=hh<=23并且00<=mm<=59。

第一行字符串表示Jam(某著名土豪战学长)起床时间,第二行字符串表示他从另一个室友口中得知自己睡了多久。

Output

对每组数据,输出一行格式为与输入数据中字符串格式相同的时间,表示Jam是几点睡觉的。

Sample Input

05:50

05:44

00:00

01:00

00:01

00:00

Sample Output

00:06

23:00

00:01
#include<iostream>
#include<string>

using namespace std;

int main()
{
string time1, time2;
while (cin >> time1 >> time2)
{
int hour1, hour2, min1, min2, hour, min;
hour1 = (time1[0] - '0') * 10 + (time1[1] - '0');
hour2 = (time2[0] - '0') * 10 + (time2[1] - '0');
min2 = (time2[3] - '0') * 10 + (time2[4] - '0');
min1 = (time1[3] - '0') * 10 + (time1[4] - '0');
if (min1 >= min2)
{
min = min1 - min2;
if (hour1 >= hour2)hour = hour1 - hour2;
else hour = hour1 - hour2 + 24;
}
else
{
min = min1 - min2 + 60;
if (hour1 - hour2 - 1 >= 0)hour = hour1 - hour2-1;
else hour = hour1 - hour2 + 24-1;
}
if (hour >= 0 && hour < 10)
{
if (min >= 0 && min < 10)
cout << '0' << hour << ":0" << min << endl;
else
cout << '0' << hour << ':' << min << endl;
}
else
{
if (min >= 0 && min < 10)
cout << hour << ":0" << min << endl;
else
cout << hour << ':' << min << endl;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: