題目描述
讀入兩個用「時:分:秒」表示的時間點,計算以秒為單位的時間間隔。
輸入輸入有兩行,每行是乙個用「時:分:秒」表示的時間點。測試資料保證第二個時間點晚於第乙個時間點。
輸出輸出乙個整數,表示時間間隔的秒數。
樣例輸入
08:00
:0009:
00:00
樣例輸出
3600
解題思路:直接兩個時間的時分秒相減乘以相應的倍數即可
比如08:55:56和09:02:03
時:(9-8)*3600=3600
分:(2-56)*60=-3240
秒:3-56=-53
相加:3600-3240-53=307
總的來說,如果說小時級別相差兩個小時,那必定可以湊出乙個整的小時來,如果相差三個小時,那至少可以湊出兩個整的小時,剩下乙個小時可能是完整的(給的資料比如是08:00:00到11:00:00)也有可能不是完整的,現在假設是完整的3600秒,然後再將分鐘和秒按照大小各自排列,他們的整數差就是這湊出來的乙個小時中實際上並沒有度過的,需要減去,結果就是時間差。
比如:08:26:38和10:11:45
10-8=2,小時級別為2,則就按兩個小時算2*3600=7200秒
我們可以看到,雖然小時級別為2,但是我們只能湊出乙個完整的小時來,08:26:38到09:26:38是完整的乙個小時,但是從09:26:38到10:11:45是不夠乙個小時的,但是小時級別我們的差是2,現在假設是完整的兩個小時,那麼完整的第二個小時應該是從09:26:38到10:26:38,然後找到中間實際上沒有度過的時間減掉即可
本來實驗資料是到10:11:45,但是我們假設的是兩個完整的小時,時間上10:11:45到10:26:38這一段時間是假的,所以要減去,
所以分鐘級別是:(11-26)*60= -900
這樣我們把分鐘的假時間減掉以後,就剩下秒了。是10:26:45到10:26:38的秒差
然後是秒級別:38到45是有7秒的假時間
38-45=-7
所以時間差為:7200-900-7=6293
上**:
#include
#include
intmain()
思路上是用了先補齊,然後再減去的思想
其他人有用直接算出兩個時間從00:00:00開始經過的秒數相減,這樣的思路比較簡單
#include
//簡單題就不用陣列了
#include
intmain()
計算時間間隔
time t 獲得時間只能精確到 秒,clock t 獲得時間能夠精確到毫秒 include clock t start,ends start clock system pause ends clock cout code highlighting produced by actipro codeh...
C 時間間隔計算
c 時間比較 c 時間間隔計算 c 事件比較直接可以用減法,即timespan ts1 datetime.now datetime.now.adddays 1 它返回的是乙個時間間隔。它有如下屬性 days 獲取當前 timespan 結構所表示的時間間隔的天數部分。hours 獲取當前 times...
VB計算時間間隔
datediff interval,date1,date2 firstdayofweek firstweekofyear 引數含義 interval 必要。字串表示式,表示用來計算date1 和 date2 的時間差的時間間隔 date1 date2 必要 variant date 計算中要用到的兩...