標籤:star logs bsp stdio.h 時間 pow std int clu
1 #include <stdio.h> 2 #include <math.h> 3 #include <time.h> 4 5 clock_t start,stop; 6 #define max 1e7 7 #define num 100
8 void putin(double *); 9 void f(double *,int ,double );10 void ff(double *a,int n,double x);11 void timetext(void (*point)(double *,int,double),double *,int ,double);
12 void main()13 {14 double a[num];15 putin(a);16 timetext(f,a,num,1.1);17 timetext(ff,a,num,1.1);18 19 }20 21 22 void putin(double *a)23 { int i;24 for(i=0;i<num;i++)25 *(a+i)=(double)i;26 }27 28 void f(double *a,int n,double x)29 { int i;30 double sum=0;31 for(i=0;i<n;i++)32 sum=sum+a[i]*pow(x,i);33 34 }35 36 void ff(double *a,int n,double x)37 { int i;38 double sum=a[n-1];39 for(i=n-2;i>=0;i--)40 sum=sum*x+a[i];41 }42 43 void timetext(void (*point)(double *,int,double),double *a,int n,double x)44 {45 int i;46 double duration;47 start=clock();48 for(i=0;i<max;i++)49 (*point)(a,n,x);50 stop=clock();51 duration=((double)(stop-start))/max/CLK_TCK;52 printf("%f\n",duration);53 printf("%f\n",(double)(stop-start));54 printf("\n");55 }
資料結構與演算法1-2 C語言已耗用時間檢測演算法