標籤:
要獲得一個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, 107]。
輸出格式:
在一行中輸出被測函數啟動並執行時間。已耗用時間必須按照“hh:mm:ss”(即2位的“時:分:秒”)格式輸出;不足1秒的時間四捨五入到秒。
輸入範例:
123 4577973
輸出範例:
12:42:59
將兩個整數的差值除以100後轉換成時間
有兩個注意點,一是四捨五入,二是輸出格式。
#include <bits/stdc++.h>using namespace std;int main(){ int data1, data2; int dif; cin >> data1 >> data2; dif = data2 - data1; if(dif % 100 >= 50){ dif = dif/100 + 1; } else{ dif = dif/100; } printf("%02d:%02d:%02d", dif/3600, (dif%3600)/60, dif%60); return 0;}CAPOUIS‘CODE
PAT-BASIC-1026-程式已耗用時間