有素颜霜还用妆前乳吗?:C++如何抽取随机数..

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/07 20:43:18
C++,
如何在指定范围里抽取随机数..
最好能详细一点告诉哈,,,......
如 用 到 函数..麻烦请告诉函数代码哦。.......
请问 这什么意思 ....工作原理是,,,,
time(0)

使用rand函数获得随机数,为了避免重复 用随机种子函数 srand();
举个例子:产生10~100 之间的随机数
srand(time(NULL));// 需要头文件 time.h,stdlib.h
int i=10+rand()%91;//产生10~100 之间的随机数


rand()
生成随机数

rand(产生随机数)
相关函数
srand

表头文件
#include<stdlib.h>

定义函数
int rand(void)

函数说明
rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。

返回值
返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,其值为2147483647。

范例
/* 产生介于1 到10 间的随机数值,此范例未设随机数种子,完整的随机数产生请参考
srand()*/
#include<stdlib.h>
main()
{
int i,j;
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf("%d ",j);
}
}

执行
9 4 8 8 10 2 4 8 3 6
9 4 8 8 10 2 4 8 3 6

srand(设置随机数种子)
相关函数
rand

表头文件
#include<stdlib.h>

定义函数
void srand (unsigned int seed);

函数说明
srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

返回值

范例
/* 产生介于1 到10 间的随机数值,此范例与执行结果可与rand()参照*/
#include<time.h>
#include<stdlib.h>
main()
{
int i,j;
srand((int)time(0));
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf(" %d ",j);
}
}

执行
5 8 8 8 10 2 10 8 9 9
2 9 7 4 10 3 2 10 8 7

使用rand函数获得随机数。rand函数返回的随机数在0-32767之间

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
printf( " %6d\n", rand() );
return 0;
}