random、randomize、rand 的区别
电脑知识爱好者互联网2007-6-21 19:35:39
知识重点:回答列表两者都不是真正的随机数,因为每次执行都会产生同样的数字序列,至于是不是所谓的伪随机数就不得而知了.要产生真正的随机效果,要使用随机数种子,就是那些完全随机变化,不受任何程序限制的..
回答列表
- 两者都不是真正的随机数,因为每次执行都会产生同样的数字序列,至于是不是所谓的伪随机数就不得而知了.要产生真正的随机效果,要使用随机数种子,就是那些完全随机变化,不受任何程序限制的因素,比如"系统时间",下面就是我用"系统时间"写的一个随机数种子函数,在使用随机数前先调用它,
便能产生真正的随机数.
void randomize(void) //随机初始化
{
long *seed,a=rand(),i;
seed=&a;
i=(long)(time(seed)&65535);
for (;i>=0;i--)
rand();
}
成真正的随机数的输出,其本质是山胜不同的随机数序列的
过程(就像DNA得重组过程) --- 随机化。用srand完成。一般
用“系统时间“作参数
e.g.
#include<stdio.h>
#include<stdlib.h>
main()
{
int x;
while(!hkhit()){
srand(time(NULL));
x=rand()%6+1;
printf("&d",x);
}
} - 字数不同呗.
- 相关内容
- 最近更新
- ·struts和spring发送mail的问题
- ·如何学好C语言啊!
- ·OUTLOOK设置
- ·转化Mjpeg的格式
- ·什么软件能够打开*.art文件
- ·.iso文件怎么刻录
- ·在Excel 表格里做一个小型计算器
- ·AUTO CAD 2004软件
- ·我用矮人DOS工具克隆硬盘
- ·srs wow 最佳设置
添加到百度搜藏