在C语言如何利用srand()和随机数函数rand()生成随机数

摘自:百度百科



在stdlib.h 中这两个函数的原型是:

int rand();
void srand (unsigned int);

?在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。为了使程序在每次执行时都能生成一个新序列的随机值,我们通常通过为随机数生成器提供一粒新的随机种子。函数 srand()可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器。



用法:

srand(time(NULL));
randnum = rand();

这样randnum就是一个真正意义上的随机数。

rand()产生伪随机数,srand函数提供种子,种子不同产生的随机数序列也不同,所以通常先调用srand函数 time()(来自time.h)返回的是系统的时间(从1970.1.1午夜算起),单位:秒,种子不同当然产生的随机数相同几率就很小了。

时间: 2024-11-25 00:55:24

在C语言如何利用srand()和随机数函数rand()生成随机数的相关文章

srand()与rand()生成随机数

srand()与rand()生成随机数 经过测试,当srand的值确定时,其对应的rand值也是确定的. #include <iostream> using namespace std; int main() { for (int i = 0; i <= 10; i++) { srand(i); cout << "当seed = " << i << "时,其结果为:" << rand() <&l

SQL中随机数函数rand()简介

转自:http://database.51cto.com/art/201009/224397.htm 下文将为您介绍SQL中的随机函数rand(),供您参考,如果您是才接触SQL Server的新手,不妨一看,相信对您学习SQL中的函数会大有帮助. 在SQL Server中,有个随机函数rand(),有不少新手可能不知道存在这个函数,现在我就把这个函数的一些随机数生成技巧写出来,这是面向菜鸟的,老鸟请不要拍砖呀,我的头还不够硬 不过还是希望老鸟们多多指教了,现在切入正题:  随机函数:rand(

sql server 获取随机数函数RAND()和RAND(x)

--RAND(x)返回一个随机浮点值v,范围在0~1之间(即0<=v<=1.0) --若指定一个整数参数x,则它被用作种子值,使用相同的种子数将产生重复序列.如果同一种子值多次调用RAND函数,它将返回同一生成值 示例:select RAND(), RAND(), RAND(); 结果:0.664547768839536   0.0166045240927059   0.0892182701370623 --不带参数的RAND()每次产生的随即数值是不同的 select RAND(10), R

[PHP]利用openssl_random_pseudo_bytes和base64_encode函数来生成随机字符串

openssl_random_pseudo_bytes函数本身是用来生成指定个数的随机字节,因此在使用它来生成随机字符串时,还需要配合使用函数base64_encode.如下所示: public static function getRandomString($length = 42) { /* * Use OpenSSL (if available) */ if (function_exists('openssl_random_pseudo_bytes')) { $bytes = openss

利用PHP的ob函数实现生成静态化页面

之前用过一些开源的CMS管理系统,当时就很好奇后台中的生成HTML静态文件是怎么实现的.今天和同事讨论了下,没想到同事之前做过这类的生成静态页面的功能,果断向他请教了下. 经他讲解后,才知道其实生成静态HTML页面很简单.PHP提供了专门的函数来实现. 以下整理出方法(实现生成html这应该只是其中一种方法): 通过php的ob缓存来实现 提高速度 1,通过php的ob缓存来实现 使用php的ob缓存实现页面静态化 修改php.ini配置文件 output_buffering=Off 1,缓存:

PHP——生成随机数和日期时间

在PHP里面两个常用的函数 rand();    生成随机数   当括号内无参数时 系统会以当前时间为种子进行随机数的生成 rand(1,10);  括号里面是生成随机数的范围,在形成的随机数在1~10之间,在PHP里面要么不写参数,要么写两个参数形成一个有效的取值范围,不能只写一个参数或者写两个无效的参数. time();    时间日期函数,在这里如果只输出time();的话在页面中显示出来的只是一段数字,这段数字代表的是一个时间戳,那么我们需要显示出来的是时间而不是时间戳,就需要进行转化,

【转】利用matlab生成随机数函数

原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵  rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成器 binornd:二项分布的随机数生成器 chi2rnd:卡方分布的随机数生成器 exprnd:指数分布的随机数生成器 frnd:f分布的随机数生成器 gamrnd:伽玛分布的随机数生成器 geornd:几何分布的随机数生成器 hygernd:超几何分布的随机数生成器 lognrnd:对数正态分布

&lt;转&gt; c/c++生成随机数

<一> C/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数. (1)  如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间.RAND_MAX定义在stdlib.h, 其值为2147483647. 例如: #include<stdio.h> #include<stdlib.h> void mai

随机数:rand()

首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明. rand(产生随机数) 表头文件: #include<stdlib.h> 定义函数 :int rand(void) 函数说明 : 因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至RAND_MAX 间.在调用此函数产生随机数前,必须先利用srand()设好随机数种子,