300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C语言生成随机数(rand函数)

C语言生成随机数(rand函数)

时间:2024-07-25 02:25:29

相关推荐

C语言生成随机数(rand函数)

代码:

🍔rand 函数要有一个头文件< stdlib.h >

🍔time 函数要有一个头文件< time.h >

#include <time.h>#include <stdlib.h>//生成一个0 ~ n 的随机数int main(){srand(time(0));//这句代码写到main函数的第一行//代码块...int x = rand() % n; //用的时候这样就生成了一个0 ~ n 的随机数。 }

原理解释:

rand函数,C语言中用来产生一个随机数的函数

rand函数界限:stdlib.h头文件中有宏#define RAND_MAX 0x7fff , rand产生一个0-0x7fff的随机数,即最大是32767的一个数

rand函数调用:rand()函数每次调用前都会查询是否调用过srand(seed),是否给seed设定了一个值,如果有那么它会自动调用srand(seed)一次来初始化它的起始值。若之前没有调用srand(seed),那么系统会自动给seed赋初始值,即srand(1)自动调用它一次。

srand函数

srand函数是随机数发生器的初始化函数,原型:void srand(unsigned int seed);

这个函数需要提供一个种子,如srand(1),用1来初始化种子rand()产生随机数时,如果用srand(seed)播下种子之后,一旦种子相同(下面的getpid方法),产生的随机数将是相同的。

当然很多时候刻意让rand()产生的随机数随机化,用时间作种子 srand(time(NULL)),这样每次运行程序的时间肯定是不相同的,产生的随机数肯定就不一样了。

time函数

我们常常使用系统时间来初始化,使用time函数来获取系统时间,得到的值是一个时间戳,即从1970年1月1日0点到现在时间的秒数,然后将得到的time_t类型数据转化为(unsigned int)的数,然后再传给srand函数,

用法:srand((unsigned int)time(NULL));

我们在使用rand和srand时,主要使用的就是这一种初始化方法!!如果仍然觉得时间间隔太小,可以在(unsigned)time(0)或者(unsigned)time(NULL)后面乘上某个合适的整数。 例如:srand((unsigned)time(NULL)*10);

time的参数传NULL表示不需要经过参数获得到的time_t数据。

总结 :

🥰运用以上三个函数就可以生成大家想要的随机数了,感谢大家的观看。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。