PAT 乙級 1026.程序運行時間 C++/Java

題目來源html

要得到一個 C 語言程序的運行時間,經常使用的方法是調用頭文件 time.h,其中提供了 clock() 函數,能夠捕捉從程序開始運行到 clock() 被調用時所耗費的時間。這個時間單位是 clock tick,即「時鐘打點」。同時還有一個常數 CLK_TCK,給出了機器時鐘每秒所走的時鐘打點數。因而爲了得到一個函數 f 的運行時間,咱們只要在調用 f 以前先調用 clock(),得到一個時鐘打點數 C1;在 f 執行完成後再調用 clock(),得到另外一個時鐘打點數 C2;兩次得到的時鐘打點數之差 (C2-C1) 就是 f 運行所消耗的時鐘打點數,再除以常數 CLK_TCK,就獲得了以秒爲單位的運行時間。ios

這裏不妨簡單假設常數 CLK_TCK 爲 100。現給定被測函數先後兩次得到的時鐘打點數,請你給出被測函數運行的時間。函數

輸入格式:

輸入在一行中順序給出 2 個整數 C1 和 C2。注意兩次得到的時鐘打點數確定不相同,即 C1 < C2,而且取值在 [。spa

輸出格式:

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

輸入樣例:

123 4577973
 

輸出樣例:

12:42:59



分析:

 (C2 - C1) / 100 是總秒數htm

 int ans = (C2 - C1) / 100 + 0.5; 這裏就是將秒數四捨五入了blog

 ans / 3600 是總小時數ip

 ans % 3600 是去除小時後,剩餘的秒數ci

 ans % 60  是秒數get

 

C++實現:

#include <iostream>
using namespace std;

int main() {
    double C1, C2;
    cin >> C1 >> C2;
    int ans = (C2 - C1) / 100 + 0.5;    // 四捨五入後的秒數
    printf("%02d:%02d:%02d", ans / 3600, ans % 3600 / 60, ans % 60);
    return 0;
}

 

 

Java實現:

相關文章
相關標籤/搜索