/* 在BC31下编译 */
/* compile under Borland C++ 3.1 */
#include <stdio.h>
#include <sys\timeb.h>
#define Alpha 3.90
double initvalue();
double random(void)/*返回一个(0,1)之间的随机数*/
{
static double f=-1.0;
double initvlaue();
if(f==-1.0) f=initvalue();
else f=Alpha*f*(1.0-f);
return f;
}
double initvalue()/*返回随机数序列初值*/
{
double f0;
struct timeb *pr;
for(;;){
ftime(pr);
f0=pr->millitm*0.9876543*0.001;
if(f0<0.001) continue;
break;
}
return f0;
}
void main()
{
double test;
int i;
clrscr();
puts("This is a random number generator.");
puts("\n The random number are: ");
for ( i = 0; i < 3; i++ )
{
test = random();
printf ( " >> rand%d:%f\n", i, test );
}
puts("\n Press any key to quit...");
getch();
}