1. 程式人生 > >PAT乙級-1026. 程序運行時間(15)

PAT乙級-1026. 程序運行時間(15)

一秒 cnblogs logs -c 方法 mes int 取值 tro

要獲得一個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和C2。註意兩次獲得的時鐘打點數肯定不相同,即C1 < C2,並且取值在[0, 107]。

輸出格式:

在一行中輸出被測函數運行的時間。運行時間必須按照“hh:mm:ss”(即2位的“時:分:秒”)格式輸出;不足1秒的時間四舍五入到秒。

輸入樣例:

123 4577973

輸出樣例:

12:42:59

分析:
註意不足一秒的時間四舍五入到秒
#include<iostream>
using namespace std;
int main(){
    int c1, c2, time;
    cin >> c1 >> c2;
    
if ((c2 - c1) % 100 >= 50)//重點 { time = (c2 - c1) / 100 + 1; } else { time = (c2 - c1) / 100; } int h, m, s; h = time / 3600; m = (time % 3600) / 60; s = time % 60; if (h >= 10) { cout << h << ":"; } else{ cout << "
0" << h << ":"; } if (m >= 10) { cout << m << ":"; } else{ cout << "0" << m << ":"; } if (s >= 10) { cout << s; } else{ cout << "0" << s; } return 0; }

PAT乙級-1026. 程序運行時間(15)