1. 程式人生 > >C語言實驗——時間間隔 (sdut oj)

C語言實驗——時間間隔 (sdut oj)

C語言實驗——時間間隔

Time Limit: 1000MS Memory Limit: 65536KB

Problem Description

從鍵盤輸入兩個時間點(24小時制),輸出兩個時間點之間的時間間隔,時間間隔用“小時:分鐘:秒”表示。
如:3點5分25秒應表示為--03:05:25.假設兩個時間在同一天內,時間先後順序與輸入無關。

Input

輸入包括兩行。
第一行為時間點1。
第二行為時間點2。

Output

以“小時:分鐘:秒”的格式輸出時間間隔。
格式參看輸入輸出。

Example Input

12:01:12
13:09:43

Example Output

01:08:31

Hint

Author

提示:本題非常重要的一點是將時間全部轉換成相同單位進行計算,得出結果再轉換為時分秒的形式。

參考程式碼

#include <stdio.h>
int main()
{
    int a1,a2,a3;
    int b1,b2,b3;
    long s1,s2,s;
    int c1,c2,c3;
    scanf("%2d:%2d:%2d",&a1,&a2,&a3);
    scanf("%2d:%2d:%2d",&b1,&b2,&b3);
    s1 = a1 * 3600 + a2 * 60 + a3;
    s2 = b1 * 3600 + b2 * 60 + b3;
    if(s1>s2)
        s = s1-s2;
    else
        s = s2-s1;
    c1 = s/3600;
    c2 = s/60%60;
    c3 = s%60;
    printf("%.2d:%.2d:%.2d",c1,c2,c3);
    return 0;
}