题解 P6460 【[COCI2006-2007#5] NATRIJ】
wuyonghuming
·
·
题解
思路:
$2$.比较这两个时间的大小.
$3$.如果第一个时间大,说明到了第二天,拿第二个时间加上一天的秒数减去第一天的时间,否则直接拿第二天减去第一天.
$4$.输出,如果小于$10$,前面加上$0$.
## 代码:
```cpp
#include <bits/stdc++.h>
using namespace std;
void hanshu(int t)
{
if(t<36000)//判断是否有10小时
cout<<0;//没有就补上0
cout<<t/3600<<':';//输出几个小时
t%=3600;//取余,去掉小时后剩下多少秒
if(t<600)//判断是否有10分钟
cout<<0;//没有就补上0
cout<<t/60<<':';//输出几分钟
t%=60;//取余,去掉分钟后剩下多少秒
if(t<10)//判断是否有10秒
cout<<0;//没有就补上0
cout<<t;//输出多少秒
}
int main()
{
int a,b,c,d,e,f,t1,t2;//a,b,c,d,e,f是用来记录时间
char g;//这个变量用来处理:
cin>>a>>g>>b>>g>>c;//输入开始时间
cin>>d>>g>>e>>g>>f;//输入结束时间
t1=a*3600+b*60+c;//计算开始时间是当天的第几秒
t2=d*3600+e*60+f;//计算结束时间是当天的第几秒
if(t1<t2)//如果这是在同一天
hanshu(t2-t1);//直接计算
else//如果不是在同一天
hanshu(t2+86400-t1);//加上一天的秒数计算
return 0;//别忘了
}
```
谢谢观看!