0
已解决
翟谦瑞
新手守护
新手守护
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a,b,c,d,e,f,g,h,i;
scanf("%d:%d:%d",&a,&b,&c);
scanf("%d:%d:%d",&d,&e,&f);
g=d-a;
h=e-b;
i=f-c;
if(i<0)
{
h--;
i+=60;
}
if(h<0)
{
g--;
h+=60;
}
if(g<0)
{
g+=24;
}
if(g%24<=10)
{
cout<<"0";
}
printf("%d:",g);
if(h%60<=10)
{
cout<<"0";
}
printf("%d:",h);
if(i%60<=10)
{
cout<<"0";
}
printf("%d",i);
return 0;
}
翟谦瑞在2018-02-04 08:18:49追加了内容
80分
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
1
已采纳
方亦欧
新手光能
新手光能
这一题的简单思路:
1:判断醒来时的小时数(记为h2)与入睡时的小时数(记为h1)哪个大,如果h1大,将h2加上24;
if(h1>h2) h2+=24;
2:按照上面的思路,依次判断分钟和秒,处理方法基本相同。
3:输出。需要注意如果醒来时的小时数-入睡时的小时数<10,需要加上前缀0,分钟和秒也依次判断。
例:
if(h2-h1<10)
cout<<0<<h2-h1<<":";
else cout<<h2-h1<<":";
另外,这一题有一个非常大的陷阱:如果入睡时刻和醒来时刻相同(如都为8:00:00),这是不能输出0,而是要注意到题目中的一句话:
小C睡觉时间最少为1秒,最多为24小时
所以,应该输出24小时啦。
方亦欧在2018-02-02 14:20:40追加了内容
(第二步没有写出代码,留给你自行思考吧)
0
0