首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言运行100三次的测试代码 windows版本解决办法

2012-03-01 
C语言运行100三次的测试代码 windows版本/**forwindowsonly*modifybybenjiam.*/#includestdio.h#include

C语言运行100三次的测试代码 windows版本
/*
  *     for   windows   only
  *     modify   by   benjiam.  
  */

#include   <stdio.h>
#include   <windows.h>  
#define   BAILOUT   16
#define   MAX_ITERATIONS   1000


int   mandelbrot(float   x,   float   y)

{

float   cr   =   y   -   0.5;

float   ci   =   x;

float   zi   =   0.0;

float   zr   =   0.0;

int   i   =   0;


while(1)   {

i   ++;

float   temp   =   zr   *   zi;

float   zr2   =   zr   *   zr;

float   zi2   =   zi   *   zi;

zr   =   zr2   -   zi2   +   cr;

zi   =   temp   +   temp   +   ci;

if   (zi2   +   zr2   >   BAILOUT)

return   i;

if   (i   >   MAX_ITERATIONS)

return   0;

}


}


void   run2()   {

int   x,y;

for   (y   =   -39;   y   <   39;   y++)   {

;//fputs( "\n ",   stderr);

for   (x   =   -39;   x   <   39;   x++)   {

int   i   =   mandelbrot(x/40.0,   y/40.0);

if   (i==0)

;//fputs( "* ",   stderr);

else

;//fputs( "   ",   stderr);

}                      

}

;//fputs( "\n ",   stderr);

}


void   run()   {

/*
struct   timeval   aTv;

gettimeofday(&aTv,   NULL);

long   init_time   =   aTv.tv_sec;

long   init_usec   =   aTv.tv_usec;
*/
FILETIME   time1;
FILETIME   time2;

GetSystemTimeAsFileTime(&time1);
int   i;

for   (i   =   0;   i   <   100;   i++)

run2();


//gettimeofday(&aTv,NULL);

//double   query_time   =   (aTv.tv_sec   -   init_time)   +   (double)(aTv.tv_usec   -   init_usec)/1000000.0;                        

GetSystemTimeAsFileTime(&time2);
__int64       t1=time1.dwHighDateTime;
t1 < <=32;
t1|=time1.dwLowDateTime;


__int64       t2=time2.dwHighDateTime;
t2 < <=32;
t2|=time2.dwLowDateTime;


printf   ( "C   Elapsed   %0.2d\n ",   t2-t1);

}


int   main   (int   argc,   const   char   *   argv[])   {

run();

run();

run();
return   0;

}

原来的代码   本质变成了io测试,这是不对的。对c   还是java   都是不公平的。所以我去掉了io操作。




[解决办法]
想得出什么结论

热点排行