题解 P6460 【[COCI2006-2007#5] NATRIJ】

· · 题解

思路:

$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;//别忘了 } ``` 谢谢观看!