问题:从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。输入包括两行。第一行为时间点1。第二行为时间点2。以“小时:分钟:秒”的格式输出时间间隔。格式参看输入输出。本题并没有说时间点1肯定先于时间点2。
解析:1、可以先把两个时间都换成秒
2、运用取绝对值函数:fabs。
3、%02d 的意思是如果输出的整型数不足两位,左侧用0补齐。
代码:
#include <stdio.h> #include <math.h> void main() { int a,b,c,d,e,f,s1,s2,s3; scanf("%d:%d:%d",&a,&b,&c); getchar(); scanf("%d:%d:%d",&d,&e,&f); s1=a*3600+b*60+c; s2=d*3600+e*60+f; s3=fabs(s1-s2); a=s3/3600; b=s3%3600/60; c=s3%60; printf("%d:%02d:%02d",a,b,c); }