查看单个帖子
旧 2009-04-16, 10:56 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】rand()函数要怎样写

rand()函数要怎样写
rand()函数要怎样写
请问,如果我要写一个带参数的随机函数如: random(10) 则返回从0 - 10 之间的随机数,请问要怎样写呢,谢谢
====== 挫折不是失败 ======
====== 成功缘于坚持 ======
是没人知道吗,还是各位大虾不屑指教?
====== 挫折不是失败 ======
====== 成功缘于坚持 ======
example
/* rand.c: this program seeds the random-number generator * with the time, then displays 10 random integers. */#include <stdlib.h>#include <stdio.h>#include <time.h>void main( void ){ int i; /* seed the random-number generator with current time so that * the numbers will be different every time we run. */ srand( (unsigned)time( null ) ); /* display 10 numbers. */ for( i = 0; i < 10;i++ ) printf( " %6d\n", rand() );}
output
6929 8026 21987 30734 20587 6699 22034 25051 7988 10104
函数定义
int randbetween(int numl, int numh)
{
int a;
double b;
int c;
if (numl > numh) //交换
{
int tmp;
tmp = numh;
numh = numl;
numl = tmp;
}
do
{
a = rand(); //产生0到rand_max之间的随机数
b = a / sqrt(a + 1);
c = (int)b;

if (numl <= c && c <= numh)
{
return c;
}

} while(1);
}
函数调用
void hello()
{
int nran = randbetween(10, 20);
ads_printf("\n 随机数= %d", nran);
}
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)