C++随机数:rand和srand函数总结

一、rand和srand函数

在C语言的库函数中,系统提供了两个用于产生随机数的函数:srand()和rand() 。

rand()函数原型如下:

int rand(void);

void表示它不接受任何参数,返回值是在[0,RAND_MAX]之间的随机整数。

srand()函数原型:

void srand(unsigned seed);

参数的变量类型为unsigned,表示seed只能保存非负整数,这样就避免了不会将复数传递给srand 。

seed是一个用于保存种子的变量,,用来初始化srand()的起始值。

二、函数的调用情况

rand函数并不是真正的随机数生成器,它所产生的其实是根据算法生成的随机数,即在一定范围具备差异性,但当样本足够大时,又具有规律性。

在调用rand函数前,需要调用srand来提供随机数种子。如果在第一次调用rand函数时没有调用srand函数,那么系统将会自动调用srand(),这时rand函数每次运行产生的将会是相同的随机数序列。

如下图所示,这个代码无论运行多少次,产生的都必然是相同的五个随机数。

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
   
    int a;
    for(int i=0 ; i<5 ; i++)
    {
   
        a = rand();
        cout << a << endl;
    }
    return
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值