要獲得一個 C 語言程序的運行時間算灸,常用的方法是調用頭文件 time.h扼劈,其中提供了 clock() 函數(shù),可以捕捉從程序開始運行到 clock() 被調用時所耗費的時間菲驴。這個時間單位是 clock tick荐吵,即“時鐘打點”。同時還有一個常數(shù) CLK_TCK赊瞬,給出了機器時鐘每秒所走的時鐘打點數(shù)先煎。于是為了獲得一個函數(shù) f 的運行時間,我們只要在調用 f 之前先調用 clock()巧涧,獲得一個時鐘打點數(shù) C1薯蝎;在 f 執(zhí)行完成后再調用 clock(),獲得另一個時鐘打點數(shù) C2谤绳;兩次獲得的時鐘打點數(shù)之差 (C2-C1) 就是 f 運行所消耗的時鐘打點數(shù)占锯,再除以常數(shù) CLK_TCK袒哥,就得到了以秒為單位的運行時間。
這里不妨簡單假設常數(shù) CLK_TCK 為 100⊙萄耄現(xiàn)給定被測函數(shù)前后兩次獲得的時鐘打點數(shù)统诺,請你給出被測函數(shù)運行的時間。
輸入格式:
輸入在一行中順序給出 2 個整數(shù) C1 和 C2疑俭。注意兩次獲得的時鐘打點數(shù)肯定不相同粮呢,即 C1 < C2,并且取值在 [0,10^7]钞艇。
輸出格式:
在一行中輸出被測函數(shù)運行的時間啄寡。運行時間必須按照 hh:mm:ss(即2位的 時:分:秒)格式輸出;不足 1 秒的時間四舍五入到秒哩照。
輸入樣例:
123 4577973
輸出樣例:
12:42:59
思路:
本題很簡單挺物,只要注意輸出的格式,兩位不足補0即可飘弧,同時注意四舍五入的情況
代碼:
//1026 程序運行時間
//本題很簡單识藤,只要注意輸出的格式即可,注意不足兩位的要用0補充次伶,同時秒還要四舍五入
#include<iostream>
using namespace std;
int main()
{
int C1, C2;
cin >> C1 >> C2;
int CLK_TCK = 100;
double t = (C2 - C1)/(CLK_TCK+0.0);
int hour, minute, second;
hour = t / 60 / 60;
minute = (t - hour * 3600) / 60;
second = (t - hour * 3600 - minute * 60) + 0.5;
printf("%02d:%02d:%02d", hour, minute, second);
return 0;
}