1026. 程式執行時間(15)--做題記錄
阿新 • • 發佈:2019-01-22
要獲得一個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
#include <iostream> using namespace std; int main() { float c1, c2; float time = 0; int hour = 0, min = 0, sec = 0; cin>>c1>>c2; time = (c2 - c1) / 100; hour = time / 3600; time -= (hour * 3600); min = time / 60; time -= (min * 60); time *= 10; time += 5; time /= 10; sec = time; if (hour < 10) { printf("0%d:",hour); }else { printf("%d:",hour); } if (min < 10) { printf("0%d:",min); }else { printf("%d:",min); } if (sec < 10) { printf("0%d",sec); }else { printf("%d",sec); } return 0; }