关于C语言随机函数把
srand(
time(0)
);
放在循环外每次产生随机数的种子也是一样的?。?为什么产生的随机数就不一样了?
因为随机函数只需要一个种子就能产生一系列的随机数,并不是每个随机数都需要一个种子 。
你把
srand(time(0))
放到循环前面就可以了 。
原因:
time(0)返回的是系统的时间(从1970.1.1午夜算起),单位:秒,而那个循环运行起来耗时连0.000001秒都不到!
也就是说 , srand(time(0))
连着4次的种子是一样的,种子一样,生产的随机数当然是一样了 。
如果你在把srand()放循环里面 , 在中间加个sleep函数,消耗一点时间(间隔大于1秒) , 那么生成的rand
就不一样了.但是这样做很不好,连着两次用srand生成的种子,间隔一样,生产的随机数间隔有会有规律性 。
另:因为两次运行同一程序的时间肯定是不一样的,所以把srand放在循环前面可以得不同的种子,这样才能得到你想要的 。
c语言随机函数怎么用,怎么定义?随机函数就是产生数c语言随机时间函数是的函数c语言随机时间函数是,c语言里有rand(),srand()等函数 。
用法
#include
#include
#include
void main( void )
{
int i,k;
srand( (unsigned)time( NULL ) ); //用系统时间当种子c语言随机时间函数是,对随机函数进行初始化
for( i = 0; i10;i)
{
k=rand()0; //产生各个随机数
printf( " k=%d/n", k );
}
}
详述
rand() srand() 头文件为#include
标准C库中函数rand()可以生成0~RAND_MAX之间c语言随机时间函数是的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数 , 它与系统有关 。
rand()函数没有输入参数,直接通过表达式rand()来引用,rand()%n是产生的随机数对n取余,起到c语言随机时间函数是了取0到n-1之间随机数的作用;
例如可以用下面的语句来打印两个随机数: printf("Random numbers are: %i %i/n",rand(),rand());
因为rand()函数是按指定的顺序来产生整数,而未指定运行的种子,所以rand()每次使用的都是同一个种子来产生随机数序列,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是正真意义上的随机 。
为了时程序在每次执行时都能生成一个新序列的随机值 , 我们通常通过为随机数生成器提供一粒新的随机种子 。函数 srand()(来自stdlib.h)可以为随机数生成器播散种子 。只要种子不同rand()函数就会产生不同的随机数序列 。srand()称为随机数生成器的初始化器 。
srand( (unsigned)time( NULL ) ); 用系统时间当种子,对随机函数进行初始化,每次的系统时间不同,所以种子也就不同,产生的随机数序列也就不同 。
c语言中语句srand(time(NULL))什么意思 。c语言中 srand(time(NULL)); 的意思是:使用当前时间进行随机数发生器的初始化 。
time_t time(time_t *t); 是C标准库函数,如果t是空指针(NULL),直接返回当前时间 。如果t不是空指针 , 返回当前时间的同时 , 将返回值赋予t指向的内存空间 。time() 是指返回自 Unix 纪元起的当前时间的秒数的函数,主要用来获取当前的系统时间,返回的结果是一个time_t类型 。
srand函数是随机数发生器的初始化函数 。原型:void srand(unsigned int seed); srand和rand()配合使用产生伪随机数序列 。
扩展资料:
srand函数的相关信息:
1、语法:void srand (unsigned seed);
2、参数说明:unsigned seed:随机数产生器的初始值(种子值) 。
3、功能说明:srand设置产生一系列伪随机数发生器的起始点,要想把发生器重新初始化,可用1作seed值 。任何共它的值都把发生器匿成一个随机的起始点 。rand检索生成的伪随机数 。在任何调用srand之前调用rand与以1作为seed调用srand产生相同的序列 。
此函数可以设定rand函数所用的随机数产生演算法的种子值 。任何大于一的种子值都会将rand随机数所产生的虚拟随机数序列重新设定一个起始点 。
4、包含文件:stdlib. h
5、返回值:无
参考资料来源:百度百科-time()
参考资料来源:百度百科-srand
C语言 随机函数首先一楼代码是可以的,只是num = rand()的10后漏了个0;
详细回答你的疑惑c语言随机时间函数是:
1、你要用的随机函数rand是包含在库文件stdib.h中 , 如果不引用#include当然出错!:
error C2065: 'rand' : undeclared identifier
2、rand是个伪随机函数,如果不用srand每一次运行程序产生的随机数一样的,
因此使用一个时间种子函数srand,它的参数是电脑的系统时间,该函数包含在库文件time.h中,这样由于每次运行程序的时间不同,种子不同,生成的随机数也不同,更接近真正的随机数 。
希望能帮到你c语言随机时间函数是!
【c语言随机时间函数是 c语言随机时间函数是随机的吗】关于c语言随机时间函数是和c语言随机时间函数是随机的吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 解谜游戏fareway,解谜游戏大全
- 耕地补贴公众号申请怎么写的简单介绍
- 开发平台游戏,开发游戏app
- 电影拍摄意味着什么英语,拍摄电影的英语怎么说
- go语言能写什么 go语言主要用在哪方面
- 关于如何做广州新媒体线上推广公司的信息
- 什么软件拍视频人好看,什么软件拍视频好看又清晰
- 复出直播文案,复出直播文案短句
- 整数倒序函数C语言表达 整数倒序函数c语言表达式怎么写