百度百科中定义clock():clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:
clock_t clock(void) ;
简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型
 #include<stdio.h>
#include<time.h>
#include<math.h>
#define max_num 10000
clock_t start,stop;//clock_t为clock()函数的返回值类型
double durtime;

方法一:求多项式,展开式:

 double power(double x,int i )
{
if(i)
return x*power(x,i-);
return;
}
double F1(int num,int a[],double x)
{
int i,p;
p=a[];
for(i=;i<num;i++)
{
p+=a[i]*power(x,i);
}
return p;
}

函数二:求多项式的展开式,优化过后的算法;

 double F2(int num,int a[],double x)
{
int i,p;
p=a[num-];
for(i=num-;i>;i--)
{
p=a[i-]+x*p;
}
return p;
}

主函数,调用函数,计算时间:

 int main()
{
int i,sum;
int a[max_num];
for(i=;i<max_num;i++) a[i]=;
start=clock();
sum=F1(max_num,a,1.1);
stop=clock();
durtime=(double)(stop-start)/CLK_TCK/max_num;
printf("ticks=%.1f\n",(double)(stop-start));
printf("durtime=%6.2e\n",durtime); start=clock();
sum=F2(max_num,a,1.1);
stop=clock();
durtime=(double)(stop-start)/CLK_TCK/max_num;
printf("ticks=%.1f\n",(double)(stop-start));
printf("durtime=%6.2e\n",durtime);
return ; }

运行程序后结果:

 
看结果,基本能比较相关算法的优劣。一般来说,运行时间的数据都很小,可以将数据取比较大,这样就比较清楚的看出来结果,比如这里的max_num 取10000的
 
第一次写,菜鸟,欢迎各位大神指正。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

用clock()函数计算多项式的运行时间的更多相关文章

  1. C 语言 clock() 函数,例:计算多项式值

    C 语言 clock() 函数,例:计算多项式值 /** * clock(): 捕捉从程序开始运行到 clock() 被调用时所耗费的时间. * 这个时间单位是 clock tick, 即" ...

  2. 程序运行时间测试 - 使用libc 中 clock 函数

    我们运行程序的时候,可以简单使用clock函数测试程序的运行时间:(本示例中以微秒为单位输出) https://github.com/yaowenxu/Workplace/blob/master/ti ...

  3. Clock函数用法

    clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t.在MSDN中,查得对clock函数定义如下: clock_t clock(void) ; 这个函数返回从“开启这个程序进程 ...

  4. clock函数返回负值~ (转)

    使用clock() 函数来进行计时,时不时的返回一个很大的负数,怎么检查也检查不出错误,现在找出错误原因,给大家分享一下. 来源网页:http://kebe-jea.blogbus.com/logs/ ...

  5. C语言--计算代码段运行时间

    c语言中有专一包含计算时间函数的头文件,time.h.当我们需要计算某段程序运行的时间时就需要用到time.h包含的clock()函数,在这里介绍一下如何使用这个函数计算代码运行时间. clock函数 ...

  6. AC日记——计算多项式的导函数 openjudge 1.5 38

    38:计算多项式的导函数 总时间限制:  1000ms 内存限制:  65536kB 描述 计算多项式的导函数是一件非常容易的任务.给定一个函数f(x),我们用f'(x)来表示其导函数.我们用x^n来 ...

  7. 用clock()函数计时的坑

    程序中经常用time()函数来返回当前系统时间的秒数,来计时或计算时间差.如果需要用到更高精度的时间,就会自然想到用clock()函数.想当然的认为它返回从程序开始tick数,用clock()/CLO ...

  8. 不要在Lua中使用os.clock()函数

    1.os.clock函数的实现是调用了c语言的函数函数库,实现代码如下: static int os_clock (lua_State *L) { lua_pushnumber(L, ((lua_Nu ...

  9. times、 time、clock函数说明

    sysconf( _SC_CLK_TCK )  功能  获取系统的 时钟滴答的频率. clock_gettime() clock()返回的是各个线程运行cpu时间的和, 返回值一直都是0. 定义函数: ...

随机推荐

  1. java SE编写图形应用程序

    借鉴了java 核心技术卷1    并参考http://www.jb51.net/article/56158.htm 添加了JTextField的使用. ####################### ...

  2. tomcat 7/8 启动非常慢的解决方法

    在日志中发现启动慢的地方: 2016-11-14 09:31:30.522 [localhost-startStop-1] INFO o.s.c.s.DefaultLifecycleProcessor ...

  3. 10款让WEB前端开发人员更轻松的实用工具

    这篇文章介绍10款让Web前端开发人员生活更轻松的实用工具.每个Web开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具,所以如 ...

  4. Maven的包依赖冲突可引发java.lang.IncompatibleClassChangeError错误

    新版API上线后,发现LOG文件没有正常输出.查看Tomcat的Log文件发现如下的错误信息 May , :: AM com.sun.xml.ws.server.sei.EndpointMethodH ...

  5. Ubuntu 查看和杀死进程

    1.ps -e 2.netstat -antup 3.kill pid 4.pgrep 进程名 5.killall  进程名 6.kill -9 pid

  6. 6.openssl rsautl和openssl pkeyutl

    rsautl是rsa的工具,相当于rsa.dgst的部分功能集合.可用于签名.验证.加密和解密文件.非对称密钥的密钥是随机生成的,因此不需要也无法指定salt参与加密. pkeyutl是非对称加密的通 ...

  7. 文法 LL1

    <程序>-><声明列表>|<程序><函数> <声明列表>-><声明>|<声明><声明列表> ...

  8. SpringBoot-Learning

    SpringBoot-Learning 本项目内容为Spring Boot教程程序样例. 作者博客:http://blog.didispace.com Spring Boot系列博文:http://b ...

  9. 利用qmake生成Makefile文件

    在linux下写程序,免不了要写Makefile文件,用automake,总感觉比较麻烦,linux人喜欢做麻烦的事,以显得风格迥异. 其实用qmake生成Makefile文件相当简单. 1 装好qm ...

  10. 图情期刊要求2015(A,B,C类)

    中国图书馆学报+情报学报+大学图书馆学报+图书情报工作+图书情报知识+情报理论与实践+国家图书馆学刊+情报杂志+图书与情报+情报科学+图书馆杂志+图书馆建设+情报资料工作+图书馆论坛+现代图书情报技术 ...