ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

测试程序运行时间的方法——clock()

2020-01-25 11:53:39  阅读:241  来源: 互联网

标签:end1 runtime 程序运行 clock int start1 测试 include


步骤如下:

1.引入头文件
        #include <time.h> 或者 #include <ctime>

2.定义

        clock_t start1,end1;                  //clock_t是用来保存时间的数据类型

3.把start放在想测试运行时间的那一部分前
        start1 = clock();                        //clock()函数表示返回处理器调用某个进程或函数所花费的时间

4.把end放在那一部分后面

        end1 = clock();

5.计算差值

       double runtime =  (double) (end1 - start) / CLOCKS_PER_SEC           //CLOCKS_PER_SEC是常量:1000 ,注意这里关于时间的单位都为毫秒(ms)

      (这里是进行秒的换算,如果想用毫秒作单位的话,可以不除以CLOCKS_PER_SEC)

6.最后输出 runtime 的值

       printf("runtime =  %ds", runtime);

p.s:

为什么要用double定义runtime?

       runtime可能是非常小的,用int定义极易得到0

 

测试代码及其数据如下:

       题目:输出所有形如aabb的四位平方数(7744问题)(即前两位数字相等,后两位数字相等)

 代码如下:     

#include <stdio.h>  
#include <time.h>               //头文件
#include <math.h>
clock_t start1, end1;           //定义

int main()
{
    start1=clock();             //测试for循环的时间,开始
    for(int a = 1; a <= 9; a++)
    {
        for(int b = 0; b <= 9; b++)
        {
            int n = a * 1000 + a * 100 + b * 10 + b;
            int c = sqrt(n);
            if(c == sqrt(n))    //判断开方n是否为整数
                printf("%d\n", n);
        }
    }
    end1=clock();               //测试for循环的时间,结束
    double runtime =(double) (end1 - start1) / CLOCKS_PER_SEC;   
    printf("runtime = %lfs\n",runtime);
    printf("runtime = %.3lfms\n",runtime*1000);
    return 0;
}

输出结果如下:

7744
runtime = 0.000013s
runtime = 0.013ms

 

标签:end1,runtime,程序运行,clock,int,start1,测试,include
来源: https://www.cnblogs.com/PlayfulBlueMoon/p/12232907.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有