设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 860|回复: 7
打印 上一主题 下一主题

谁知道随机函数头

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 00:27:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁知道随机函数头 是什么? 函数是什么?什么参数?
和C 中间的 一样么?
2#
发表于 2009-11-4 00:27:41 | 只看该作者
take a look there:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_CRT_rand.asp

请注意, 对于标准的C++, 请你将其中的头文件改为

#include <cstdlib>#include <cstdio>#include <ctime>如果你要用到 cin, cout, 那么加上#include <iostream>并且最后加上using namespace std;
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-4 00:27:42 | 只看该作者
  1. 哈哈,老狼``,我来转一篇.
  2. #include<time.h>
  3. #include<stdlib.h>
  4. srand((unsigned int)time(NULL));
  5. int n = rand() % 101;
  6. 解释:
  7. C++/C语言里,是没有办法得到一个真正的随机数序列的。想要得到一个真正的随机数序列,必须使用特定的随机数硬件发生器。也就是说,软件是没有办法产生真正的随机数。因为软件必须按照一定的逻辑来编写。既然是按照特定的逻辑(也就是算法)来编写,那么产生的运算结果就是一定的。这一点,就是软件天生的特性。想想看,如果一个软件,同样的代码喝条件下,每次运行的结果不一样,那还有谁会用?
  8. 所以,在C++/C语言中,就有了“伪随机数”的概念。意思也就是说,通过一个特定的算法,产生一个假的随机数序列。那么,程序员又希望这个随机数序列跟接近真正的随机数序列,也就是希望每次得到的序列的不一样,所有有了一个“播种”的概念。
  9. srand( unsigned int seed );
  10. 这个函数就是用来“播种”的。通过一个“种子”(seed),来控制随机数的序列不一样。只要种子不一样,那么通过rand()得到的随机数序列就不一样。反过来说,如果“种子”一样,那么通过srand()得到的随机数序列就是一样的。
  11. srand(0);
  12. for( int i = 0; i < 10; i++)
  13. {
  14. cout<<rand()<<' ';
  15. }
  16. 你试着将这个程序执行两次,你会发现两次的结果一样。那是因为,一旦“种子”确定了,那么这个随机数序列就确定了。软件天生的“行为可重复性”决定了这一点。
  17. 所以,一般在播种的时候,喜欢用一个随机的种子。绝大多数的情况下,会使用当前的时间。这个数字在每次程序运行的时候,都不一样。除非你手动的改系统时间。
复制代码
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-4 00:27:43 | 只看该作者
明白了。实际上我在C中。还没有使用过随机这个函数。

只是知道这个函数。没用过,就是不熟悉这个函数的特性。
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-4 00:27:44 | 只看该作者
昂`我也是刚刚知道的
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-4 00:27:45 | 只看该作者
顶二楼,很有见地
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-4 00:27:46 | 只看该作者
稍微懂了
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-4 00:27:47 | 只看该作者
恍然大悟阿
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 22:32 , Processed in 0.107474 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表