程序运行时间
鏈接:http://www.nowcoder.com/pat/6/problem/4052
題目描述
要獲得一個C語言程序的運行時間,常用的方法是調(diào)用頭文件time.h,其中提供了clock()函數(shù),可以捕捉從程序開始運行到clock()被調(diào)用時所
耗費的時間。這個時間單位是clock tick,即“時鐘打點”。同時還有一個常數(shù)CLK_TCK,給出了機(jī)器時鐘每秒所走的時鐘打點數(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和C1。注意兩次獲得的時鐘打點數(shù)肯定不相同,即C1 < C2,并且取值在[0, 107]
輸出描述:
在一行中輸出被測函數(shù)運行的時間。運行時間必須按照“hh:mm:ss”(即2位的“時:分:秒”)格式輸出;不足1秒的時間四舍五入到秒。
?
輸入例子:
123 4577973
?
輸出例子:
12:42:59
思路:題目很簡單,只要做好”四舍五入“的計算,就可以了。
”四舍五入“:double a = 1.2; a += 0.5; floor[a] = 1;
double b = 1.5; b += 0.5; floor[b] = 2;
floor(x):取不大于x的最大整數(shù)(小于等于x的最大整數(shù))
ceil(x) : 取不小于x的最小整數(shù)(大于等于x的最小整數(shù))
1 #include "iostream" 2 #include <iomanip> 3 #include <string.h> 4 #include <string> 5 #include <vector> 6 #include <cmath> 7 #include <cctype> 8 #include <algorithm> 9 using namespace std; 10 11 int main() 12 { 13 int c1, c2; 14 cin >>c1 >>c2; 15 int c3; 16 if(c1 > c2) 17 { 18 c3 = c1; 19 c1 = c2; 20 c2 = c3; 21 } 22 c3 = c2-c1; 23 c3 = floor((c3*1.0/(100*1.0))+0.5); 24 int h = c3/3600; 25 int m = (c3-h*3600)/60; 26 int s = (c3-h*3600-m*60); 27 if(h < 10) 28 { 29 cout <<0 <<h <<":"; 30 } 31 else cout <<h <<":"; 32 if(m < 10) 33 { 34 cout <<0 <<m <<":"; 35 } 36 else cout <<m <<":"; 37 if(s < 10) 38 { 39 cout <<0 <<s <<endl; 40 } 41 else cout <<s <<endl; 42 return 0; 43 }
?
轉(zhuǎn)載于:https://www.cnblogs.com/mtc-dyc/p/4624172.html
總結(jié)
- 上一篇: 求一个cf霸气个性签名!
- 下一篇: 不孕不育五项包括哪些