1. 程式人生 > 其它 >C語言程式設計訓練-時間間隔

C語言程式設計訓練-時間間隔

技術標籤: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;
	}