問題:從鍵盤輸入兩個時間點(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); }