道理很简单:先记录开始的时间点,也就是获取当前系统的时间,都换算成秒,再将540小时换算成秒加上开始时间後不就得到结束的时间点了吗?由於开始时间是获取当前时间,所以结束时间也会随着变化,符合要求。那2个小时也一样!
#include <stdioh>
#include <timeh>
#define N 10000 /这个数字可以自己改,如果时间太长结果不出来你就改小点/
void f()
{
int i, j, k;
for ( i = 0; i < N; ++i )
for ( j = 0; j < N; ++j )
for ( k = 0; k < N; ++k )
;
}
int main()
{
clock_t begin, duration;
begin = clock();
f();
duration = clock() - begin;
printf( "函数f()的运行时间大约为:%dms\n", duration1000/CLOCKS_PER_SEC );
}
用高精度计时器
#include <iostream>
#include <windowsh>
using namespace std ;
int main(void)
{
LARGE_INTEGER BegainTime ;
LARGE_INTEGER EndTime ;
LARGE_INTEGER Frequency ;
QueryPerformanceFrequency(&Frequency);
QueryPerformanceCounter(&BegainTime) ;
//要测试的代码放在这里
QueryPerformanceCounter(&EndTime) ;
cout << ( EndTimeQuadPart - BegainTimeQuadPart )1000 / FrequencyQuadPart ;
system("pause") ;
return 0 ;
}
C语言中的头文件timeh中定义了库函数clock(),它返回的是从程序运行开始算起的时间,一时钟周期为单位,timeh还定义了符号:CLOCKS_PER_SEC,即一秒钟的时钟周期。这样就简单了,在头文件中加入#include<timeh>,在程序main()主函数的开头定义long now=0;并给把clock()赋值给now,即now=clock();记录程序开始时的时间,clock()会继续增加,但now已经确定为开始那一时刻clock()的值,在程序结尾,算式clock()-now就是程序执行所需的时间,但是是以时钟周期为单位的,如果想得到以秒为单位的时间只要输出(clock()-now)/CLOCKS_PER_SEC就是了,即在程序结尾添加
printf("%lf",(clock()-now)/CLOCKS_PER_SEC);就可以了。
以上就是关于请教一下大家,用c语言程序如何计算累计时间,如下全部的内容,包括:请教一下大家,用c语言程序如何计算累计时间,如下、c语言 计算程序运行时间、C++实现计算程序运行时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)