百度百科中定义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. ReactJS学习笔记(二)

    1.Ajax: componentDidMount 方法设置 Ajax 请求,等到请求成功,再用 this.setState 方法重新渲染 UI. /*demo1*/ var Demo1Box=Rea ...

  2. Android IOS WebRTC 音视频开发总结(八十一)-- WebRTC靠谱吗?有没有适合的SDK推荐?

    作者:blaker,最早发表在我们的微信公众和[编风网],详见[这里] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn) ...

  3. JS定时程序,设定一个一直刷新,又时间间隔的js,读取当前的时间并显示

    <!doctype html><html><head><meta charset="utf-8"><title>无标题文 ...

  4. 在SQLSERVER中快速有条件删除海量数据技巧推荐

    解释: 如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是 ...

  5. curl post方法

    * [curl_post curl post方式请求接口] * @param [type] $url [接口的url] * @param [type] $data [传递的参数] * @return ...

  6. PAT 乙级 1005. 继续(3n+1)猜想 (25)

    1005. 继续(3n+1)猜想 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B   卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情 ...

  7. 前端mac下的工具

    1.制作base64图片的 DataURLMaker imageAlpha 减少png图片尺寸 2.共享iphone X-Mirage 3.制作交互图 briefs 4.制作矢量图 sketch

  8. Hcm data loader for cancel work relationship

    好好总结一下这个task.没有做好的东西:1.现有的资料和各种各样的工具没有很好的利用起来,造成了用了很多的时间去了解和自己学习.非常的不舒服的.下次要避免这样的浪费时间,学会在工作中学习.现在以及以 ...

  9. 模板函数 使用的默认void 模板报错

    You must specify the compiler argument -std=c++0x to avoid the following error: test.cpp:5:13: error ...

  10. CocoaPod安装和使用教程

    一.CocoaPods是什么? CocoaPods是一个负责管理iOS项目中第三方开源库的工具.CocoaPods的项目源码在Github上管理.我们开发iOS项目不可避免地要使用第三方开源库,Coc ...