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


   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值