#include <stdio.h>
int main()
{
int a1, b1, c1, a2, b2, c2;
int s1, s2, s3;
int a3, b3, c3;
scanf("%d:%d:%d", &a1, &b1, &c1);
scanf("%d:%d:%d", &a2, &b2, &c2);
s1 = a1 * 3600 + b1 * 60 + c1;
s2 = a2 * 3600 + b2 * 60 + c2;
if (s1 > s2)
s3 = s1 - s2;
else
s3 = s2 - s1;
a3 = s3 / 3600;
b3 = (s3 - a3 * 3600) / 60;
c3 = s3 - a3 * 3600 - b3 * 60;
printf("%02d:%02d:%02d", a3, b3, c3);
return 0;
}
?代码没写注释,个人认为还是比较容易理解的。我的思路是将时间换算成秒再进行计算,这样可以省去各种繁杂的条件判断。
这里贴出另一个同学的思考方向,,,,也挺好的,对我来说要琢磨很久(笑), 所以我就去找另一个方法去了。链接如下。
时间差值 c语言_孤灯燃梦的博客-CSDN博客
|