c语言随机函数时间函数 c语言,随机函数

关于C语言随机函数把
srand(
time(0)
);
放在循环外每次产生随机数的种子也是一样的?。裁床乃婊筒灰谎薱语言随机函数时间函数?
因为随机函数只需要一个种子就能产生一系列的随机数 , 并不是每个随机数都需要一个种子 。
c语言随机函数时间函数你把
srand(time(0))
放到循环前面就可以了 。
原因:
time(0)返回的是系统的时间(从1970.1.1午夜算起),单位:秒 , 而那个循环运行起来耗时连0.000001秒都不到c语言随机函数时间函数!
也就是说,srand(time(0))
连着4次的种子是一样的,种子一样,生产的随机数当然是一样了 。
如果你在把srand()放循环里面,在中间加个sleep函数,消耗一点时间(间隔大于1秒),那么生成的rand
就不一样了.但是这样做很不好,连着两次用srand生成的种子 , 间隔一样,生产的随机数间隔有会有规律性 。
另:因为两次运行同一程序的时间肯定是不一样的,所以把srand放在循环前面可以得不同的种子,这样才能得到你想要的 。
c语言的随机函数怎样用?、#include stdlib.h
#include time.h
int main( )
{
int a[100];/*存放随机数的数组*/
time_tt1;/*用于存放时间*/
time(t1);/*取得当前系统时间*/
srand(t1);/*设置随机数种子*/
for (i = 0; i100; i ++)/*循环生成10个随机数 , 放到数组a中*/
a[i] = 10 + rand( ) % 90;
/*数值范围在10到99间,需要不同范围的数据请自行更改*/
...
}
C语言srand((unsigned)time(NULL)); 是什么意思srand()函数用来设置算法的种子,time(NULL)返回当前的时间,先调用srand(time(NULL))是把当前的时间作为种子,是程序每次运行产生不同的随机数序列 。
涉及到三个概念:
1、随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的 。
2、随机数种子:随机数的产生是由算术规则产生的,srand(seed)的随机数种子不同,rand()的随机数值就不同,倘若每次的随机数种子一样,则rand()的值就一样 。所以要产生随机数,则srand(seed)的随机数种子必须也要随机的 。
3、用srand()产生随机数种子
原型:void srand ( unsigned int seed ) 。作用是设置好随机数种子,为了让随机数种子是随机的,通常用time(NULL)的值来当seed 。
扩展资料:
C语言其他产生随机数的方法 。
1、函数名: rand
功能: 随机数发生器
用法: void rand(void);
程序例:
2、函数名: random
功能: 随机数发生器
用法: int random(int num);
程序例:
3、函数名: randomize
功能: 初始化随机数发生器
用法: void randomize(void);
程序例:
参考资料来源:百度百科--srand
如何用C语言生成时间的随机数在VC中设计到随机数有两个函数
srand() and rand()
srand() 的作用是是一个种子 , 提供每次获得随机数的基数而已,rand()根据种子而产生随机数
注意
1:srand() 里的值必须是动态变化的,否则得到的随机数就是一个固定数
2:其实可以不用写srand(),只用rand()就可以了,省事 , 简单,例子如下
如果我们想得到一个 0-60的随机数那么可以写成
int i;
i=rand()%60;
就可以了 。
当然最好有个统一的标注如下:
int i;
srand((unsigned)time( NULL ));
i=rand()%60;
这样就OK了 。
【c语言随机函数时间函数 c语言,随机函数】关于c语言随机函数时间函数和c语言,随机函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读