利用clock()捕捉程序开始运行到clock()被调用时所耗费的时间

#include<stdio.h>
#include<time.h>
#include<math.h>

clock_t start,stop;
double duration;
#define MAXN 100000


double f1(int n ,double a[] , double x);
double f2(int n ,double a[] , double x);

void printClock(clock_t,clock_t);

int main()
{
    int i = 0;
    double a[MAXN];
    for(i = 0;i < MAXN;i++)
        a[i] = (double)i;
    start = clock();
    f1(MAXN-1 , a , 1.1);
    stop = clock();
    printClock(start,stop);
    
    start = clock();
    f2(MAXN-1 , a , 1.1);
    stop = clock();
    printClock(start,stop);
    
}

double f1(int n , double a[] , double x)
{
    int i = 0;
    double p = a[0];
    for(i = 1 ; i <= n ; i++)
        p += (a[i] * pow(x,i));
    printf("%f\n",p);
    return p;
}

double f2(int n , double a[] , double x)
{
    int i = 0;
    double p = a[n];
    for(i = n ; i > 0 ; i--)
        p = a[i-1] + x*p;
    printf("%f\n",p);
    return p;
}


void printClock(clock_t start,clock_t stop)

{
    duration = (double)(stop-start)/CLK_TCK;
    printf("%f\n",(double)(stop-start));
    printf("%6.2e\n",duration);
    return ;
}

 

posted @ 2017-04-19 11:37  qiaoge  阅读(251)  评论(0)    收藏  举报