可以用rand() 但是其实这个随机数是伪随机数,它是一个周期很长的一个值而已. 所以我们可以加入一个随机数种子srand(),这个可以取以当前时间为基准的一个值. 1#include <stdlib.h>2#include <stdio.h>3#include 4main()5{6inti,k;7srand( (unsigned)time( NULL ) );8for( i =0; i <10;i++)9{...
如果在程序运行时没有自主设置种子的话,用函数rand产生的随机数序列会是一样的。 而用srand设置随机数种子后,可能产生不同的随机序列(概率很大)。 之所以说以很大的概率产生不同的随机数序列,是因为从上面的解释可以看到, srand是以秒数为单位的。一旦程序多次运行的时间间隔少于1s。那么srand设置种子也没有...
在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了...
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include 4 5 //2016 10 10 6 void main() 7 { 8 int i; 9 int a[10]; 10 time_t ts;//设置时间变量 11 int max; 12 int maxi;//最大值的下标 13 14 srand((unsigned int )time(&ts));//设置时间的随机数种子 15 for(i=0;i<...
1.用time函数返回值做为种子,然后再生成随机数 2.代码如下: #include <stdio.h> #include <stdlib.h> #include int main() { // 设置种子为当前时间 srand((unsigned int)time(NULL)); // 生成并打印一个随机数(0到RAND_MAX之间) int random...
C语言中,设置随机数种子需要包含头文件stdlib.h,利用系统时间需要包含头文件time.h。设置随机数种子的函数原型为:void srand(unsigned int seed);利用系统时间作为随机数的种子代码如下:include <stdlib.h>#include int main(){ srand((unsigned)time(NULL)); // 利用系统时间作为随机数的种子...
srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。
我们可以通过 srand() 函数来重新“播种”,这样种子就会发生改变。srand() 的用法为:void srand (unsigned int seed);它需要一个 unsigned int 类型的参数。在实际开发中,我们可以用时间作为参数,只要每次播种的时间不同,那么生成的种子就不同,最终的随机数也就不同。使用 头文件中的 time() 函数即可得到...
用了上面这段代码,我们可以发现输出的两个数值已经不一样了,就是因为,一个种子是3,另一个种子是5。 这个时候,我们可以想想,要是想要srand()一直自动变化,那需要怎么操作呢? 是的,时间。 我们都知道,时间戳是会一直改变的,我们直接用时间戳做种子。即可实现每次都生成不一样的随机数!
一、random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。 可改用C++下的rand函数来实现。 1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。 随机数生成器总是以相同的种子开始,所以形成的...