C語言程式設計訓練-時間間隔
阿新 • • 發佈:2021-02-07
技術標籤:C語言程式設計順序結構
從鍵盤輸入兩個時間點(24小時制),輸出兩個時間點之間的時間間隔,時間間隔用“小時:分鐘:秒”表示。
如:3點5分25秒應表示為–03:05:25.假設兩個時間在同一天內,時間先後順序與輸入無關。
Input
輸入包括兩行。
第一行為時間點1。
第二行為時間點2。
Output
以“小時:分鐘:秒”的格式輸出時間間隔。
格式參看輸入輸出。
輸入
12:01:12
13:09:43
輸出
01:08:31
思路:首先把小時分鐘都轉化為秒,之後判斷大小,大的減去小的,得到的結果再轉換為小時分鐘秒
#include <stdio.h> int main(void) { int h, m, s,sum; int h1, m1, s1,sum1; int a, b, c; int h2; scanf_s("%d:%d:%d", &a, &b, &c); scanf_s("%d:%d:%d", &h1, &m1, &s1); sum = a * 3600 + b * 60 + c; //把小時分鐘都轉化為秒 sum1 = h1 * 3600 + m1 * 60 + s1; //把小時分鐘都轉化為秒 if (sum > sum1) { h2 = sum - sum1;} //判斷那個時間大,大的減去小的獲得時間差 else { h2 = sum1 - sum;} h = h2 / 3600; //將時間差轉換為小時 m = (h2 / 60) % 60; //將時間差轉換為分鐘 除60獲得所有的分鐘,再和60取餘獲得去掉小時後的分鐘 s = h2 % 60; //取60的餘數為秒 printf("%02d:%02d:%02d", h, m, s); return 0; }