C 言語プログラムの実行時間を取得するための一般的な方法は、ヘッダー ファイル time.h を呼び出すことです。これは、プログラムの開始から clock( ) が呼び出されます。この時間の単位はクロック ティック、つまり「クロック ティック」です。同時に、マシン クロックが 1 秒あたりに移動するクロック ティック数を示す定数 CLK_TCK もあります。したがって、関数 f の実行時間を取得するには、f を呼び出す前に clock() を呼び出してクロック数 C1 を取得し、f の実行が完了した後に clock() を呼び出して別のクロック数 C2 を取得するだけで済みます。 ; 2 回 得られたクロック ドットの差 (C2-C1) は、f の演算によって消費されるクロック ドットであり、定数 CLK_TCK で割ると、実行時間 (秒) が得られます。
ここでは、定数 CLK_TCK が 100 であると簡単に仮定できます。テスト中の関数の前後に 2 回取得したクロック ティック数が与えられた場合、テスト中の関数の実行時間を教えてください。
入力形式:
入力は、2 つの整数 C1 と C2 を 1 行に連続して与えます。2 回取得されるクロック ティックの数は異なる必要があることに注意してください。つまり、C1 < C2 であり、値は [0,107] 単位です。
出力フォーマット:
テスト対象の関数の実行にかかる時間を 1 行で出力します。
hh:mm:ss
経過時間は(つまり 2 桁の ) 形式で出力する必要があります时:分:秒
; 秒未満は最も近い秒に丸められます。入力サンプル:
123 4577973
出力例:
12:42:59
比較的基本的なトピックで、主に丸め関数 round()をマスターしました
1. <cmath> パッケージをインポートする必要があり、round() で直接丸めることができます
#include <iostream>
#include <string>
#include <map>
#include<cmath>
#include <algorithm>
using namespace std;
int main(){
int c1,c2;
cin>>c1>>c2;
float time = c2-c1;
time = time/100;
int s,m,h;
h = time/3600;
m = (time - 3600*h)/60;
s = round((time - 3600*h-60*m));
printf("%02d:%02d:%02d",h,m,s);
return 0;
}