工程项目投资控制论文:怎样产生1到1000000的随机数

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/14 06:58:47
C语言中怎样产生1到超过RAND_MAX的一个数之间的随机数?另外RAND_MAX的大小和机器的位数有关吗?

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

long random(long n)
{
long t;
if(n<=RAND_MAX)
{
t=rand();
return t%n;
}
else
{
return rand()+random(n/(RAND_MAX+1))*(RAND_MAX+1);
}
}

void main( void )
{
srand( (unsigned)time( NULL ) );
printf( "%d\n", random(1000000));
}