问题:从键盘输入两个时间点(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);
}
