1026 程式執行時間 15 PAT乙級真題

2021-07-15 10:44:44 字數 1286 閱讀 7642

要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock()函式,可以捕捉從程式開始執行到clock()被呼叫時所耗費的時間。這個時間單位是clock tick,即「時鐘打點」。同時還有乙個常數clk_tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲得乙個函式f的執行時間,我們只要在呼叫f之前先呼叫clock(),獲得乙個時鐘打點數c1;在f執行完成後再呼叫clock(),獲得另乙個時鐘打點數c2;兩次獲得的時鐘打點數之差(c2-c1)就是f執行所消耗的時鐘打點數,再除以常數clk_tck,就得到了以秒為單位的執行時間。這裡不妨簡單假設常數clk_tck為100。現給定被測函式前後兩次獲得的時鐘打點數,請你給出被測函式執行的時間。

輸入格式

輸入在一行中順序給出2個整數c1和c1。注意兩次獲得的時鐘打點數肯定不相同,即c1 < c2,並且取值在[0, 10^7]。

輸出格式

在一行中輸出被測函式執行的時間。執行時間必須按照「hh:mm:ss」(即2位的「時:分:秒」)

格式輸出;不足1秒的時間四捨五入到秒。

輸入樣例

123 4577973

輸出樣例

12:42:59

分析:n表示執行的時間,n為(b-a)/100,因為常數clk_tck為100,題目要求不足1秒的時間四捨五入到秒,所以先給(b-a)加上50,這樣如果(b-a)/100的小數字大於等於0.5則會進製,小於等於0.5則會捨去,所以n = ((b - a) + 50) / 100,因為要把秒數n化為時:分:秒的格式,一小時等於3600秒,所以hour = n / 3600,此時將n % 3600即為剩下的分鐘和秒數;因為一分鐘等於60秒,所以minute = n / 60,則n % 60剩下的就是秒,最後用printf的%02d格式自動為不足2位的整數在前面補上0,保證能夠按照格式輸出~

#include using namespace std;

int main()

1026 程式執行時間 15 PAT

時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所耗費的時間。這個時間單位是...

1026 程式執行時間 15 PAT 乙級

要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所耗費的時間。這個時間單位是clock tick,即 時鐘打點 同時還有乙個常數clk tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲得乙個函式f的執...

程式執行時間 15 PAT乙級

要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所 耗費的時間。這個時間單位是clock tick,即 時鐘打點 同時還有乙個常數clk tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲 得乙個函式f...