c++随机数

rand()函数

rand()函数随机生成[0,RAND_MAX)范围内的整数,RAND_MAX至少为32767((2e+15)-1),不同的机器RAND_MAX不同。
用法:int rand()
头文件:#include<cstdlib>
要点:rand()产生的其实是伪随机数,它是由数学公式计算出来的,每次执行随机数都一样,要想不同,就用srand()函数设置一个随机数种子。srand()函数未定义时,默认为srand(1).

srand()函数

srand函数为rand()函数设置一个随机数种子,srand函数里参数相同随机种子也相同,不同的参数可以使每次执行rand()函数得到不一样的随机数。
用法:void srand(unsigned int seed)
参数也可使用time(NULL)使随机种子随时间变化,但是要用到头文件#include<ctime>
以下程序每次运行得到不同的随机数:

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
    srand((unsigned int)time(NULL));
    for(int i=0;i<10;i++)
    {
        cout<<rand()<<endl;
    }
    return 0;
}

产生指定范围的随机数

通用公式:a+rand()%n,其中a为起始整数,n为范围大小。
例如:[a,b]:a+rand()%(b-a+1);
[a,b):a+rand()%(b-a);
(a,b]:a+1+rand()%(b-a);
要取得0~1之间的浮点数:rand()/(double)RAND_MAX;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值