丸め関数 round() (pat class B 1026 プログラム実行時間)

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;
}

おすすめ

転載: blog.csdn.net/weixin_45721305/article/details/123423878