rand()函数生成随机数

    rand()函数和srand()是两个产生随机数的函数。

    函数一:int rand(void)

                  返回一个[0, RAND_MAX]间的随机整数。

    函数二:void srand(unsigned seed)

                   参数seed是rand()的种子。

    用法:

         系统在调用rand()之前会自动的调用srand(),如果用户在rand()之前曾调用过srand()给参数seed指定了一个值rand()就会将seed的值作为产生伪随机数的初始值,而如果用户在rand()之前没有调用srand()那么系统将1作为随机数的初始值。如果给了一个定值,那么每次rand()产生的随机数序列都是一样的。

         通常我们用srand((unsigned)time(0))或sand((unsigned)time(NULL))来产生种子,如果仍觉得时间间隔太小,可以乘上一个数如srand((unsigned)time(0)*10)。

         x = rand() % 10;             //产生0~10之间的随机整数

         y = rand %51 - 25;         //产生-25~25之间的随机整数

         z = ((double)rand() / RAND_MAX)*(b - a) + a          //产生区间[a, b]上的随机整数

         j = (int)(n*rand() / (RAND_MAX + 1.0))          //产生0~n之间的随机整数【注意的是n是浮点数不能写成整数】

   

     例子:

          如果没有调用srand()函数

        

         结果:即使编译运行多次结果都一样

                    8 3 7 9 1 3 7 2 5

                    8 3 7 9 1 3 7 2 5

     调用srand()函数

            

         结果:7 9 3 0 6 6 3 3 2 7

                    4 8 1 9 2 0 9 6 1 2


   

发布了56 篇原创文章 · 获赞 4 · 访问量 5万+
展开阅读全文
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览