航班資訊 字串 思維 sscanf

2021-10-02 12:49:16 字數 1508 閱讀 1010

小 h 前往美國參加了藍橋杯國際賽。

小 h 的女朋友發現小 h 上午十點出發,上午十二點到達美國,於是感嘆到「現在飛機飛得真快,兩小時就能到美國了」。

小 h 對超音速飛行感到十分恐懼。

仔細觀察後發現飛機的起降時間都是當地時間。

由於北京和美國東部有 12 小時時差,故飛機總共需要 14 小時的飛行時間。

不久後小 h 的女朋友去中東交換。

小 h 並不知道中東與北京的時差。

但是小 h 得到了女朋友來回航班的起降時間。

小 h 想知道女朋友的航班飛行時間是多少。

對於乙個可能跨時區的航班,給定來回程的起降時間。

假設飛機來回飛行時間相同,求飛機的飛行時間。

輸入格式

乙個輸入包含多組資料。

輸入第一行為乙個正整數 t,表示輸入資料組數。

每組資料報含兩行,第一行為去程的起降時間,第二行為回程的起降時間。

起降時間的格式如下:

h1:m1:s1 h2:m2:s2

h1:m1:s1 h3:m3:s3 (+1)

h1:m1:s1 h4:m4:s4 (+2)

第一種格式表示該航班在當地時間h1時m1分s1秒起飛,在當地時間當日h2時m2分s2秒降落。

第二種格式表示該航班在當地時間h1時m1分s1秒起飛,在當地時間次日h2時m2分s2秒降落。

第三種格式表示該航班在當地時間h1時m1分s1秒起飛,在當地時間第三日h2時m2分s2秒降落。

輸出格式

對於每一組資料輸出一行乙個時間hh:mm:ss,表示飛行時間為hh小時mm分ss秒。

注意,當時間為一位數時,要補齊前導零,如三小時四分五秒應寫為03:04:05。

資料範圍

保證輸入時間合法(0≤h≤23,0≤m,s≤59),飛行時間不超過24小時。

輸入樣例:

317:48:19 21:57:24

11:05:18 15:14:23

17:21:07 00:31:46 (+1)

23:02:41 16:13:20 (+1)

10:19:19 20:41:24

22:19:04 16:41:09 (+1)

輸出樣例:

04:09:05

12:10:39

14:22:05

題意:給了去和回來的當地時間,然後推飛機飛行時間。

做法:一去一回,剛好可以把時差抵消掉,來回飛機的時間又一樣,所以就把2個時間相加除以2就是答案,然後注意前導零等情況。另外使用sscanf()**可以簡潔很多

#include 

#include

using namespace std;

intget_time()

intmain()

return0;

}

sscanf字串的處理

sscanf函式的高階用法 sscanf與scanf類似,都是用於輸入的,只是後者以螢幕 stdin 為輸入源,前者以固定字串為輸入源。函式原型 int scanf const char format argument 其中的format可以是乙個或多個 type t n 非 符號 注 1 亦可用於...

字串騷操作 sscanf

1.常見用法。char buf 512 sscanf 123456 s buf printf s n buf 結果為 123456 2.取指定長度的字串。如在下例中,取最大長度為4位元組的字串。sscanf 123456 4s buf printf s n buf 結果為 1234 3.取到指定字元...

字串轉數字(sscanf)

字串轉字串 charbuf 512 sscanf 123456 s buf 此處buf是陣列名,它的意思是將123456以 s的形式存入buf中!printf s n buf 字串轉數字 int v sscanf s,d v atof 將字串轉換成浮點數值 atoi 將字串轉換成整數值 atol 將...