程序运行时间
鏈接:http://www.nowcoder.com/pat/6/problem/4052
題目描述
要獲得一個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
思路:題目很簡單,只要做好”四舍五入“的計算,就可以了。
”四舍五入“:double a = 1.2; a += 0.5; floor[a] = 1;
double b = 1.5; b += 0.5; floor[b] = 2;
floor(x):取不大于x的最大整數(小于等于x的最大整數)
ceil(x) : 取不小于x的最小整數(大于等于x的最小整數)
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 }
?
轉載于:https://www.cnblogs.com/mtc-dyc/p/4624172.html
總結
- 上一篇: 求一个cf霸气个性签名!
- 下一篇: 《暗时间》读后感