- 程序運行時間(15)
要獲得一個C語言程序的運行時間,常用的方法是調(diào)用頭文件time.h脏毯,其中提供了clock()
函數(shù),可以捕捉從程序開始運行到clock()被調(diào)用時所耗費的時間幔崖。這個時間單位是
clock tick食店,即“時鐘打點”。同時還有一個常數(shù)CLK_TCK赏寇,給出了機器時鐘每秒所走的時鐘
打點數(shù)吉嫩。于是為了獲得一個函數(shù)f的運行時間,我們只要在調(diào)用f之前先調(diào)用clock()嗅定,獲得一
個時鐘打點數(shù)C1自娩;在f執(zhí)行完成后再調(diào)用clock(),獲得另一個時鐘打點數(shù)C2渠退;兩次獲得的
時鐘打點數(shù)之差(C2-C1)就是f運行所消耗的時鐘打點數(shù)忙迁,再除以常數(shù)CLK_TCK,就得到了以
秒為單位的運行時間碎乃。
這里不妨簡單假設(shè)常數(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
四舍五入這塊還是學習了一下,具體見代碼吧
- 關(guān)于/(取模)和%優(yōu)先級是一樣的拥坛,結(jié)合方向是從左到右蓬蝶。
#include <stdio.h>
int main(){
int C1,C2,T;
scanf("%d %d",&C1,&C2);
T = (C2 - C1 + 50)/100;/*四舍五入真的很難想到*/
printf("%2d:%2d:%2d\n",T/3600,(T/60%60),T%60);
return 0;
}