C++关于随机数的用法,srand,rand

一般C++程序员可通过两个步骤生成随机数

在这里插入图片描述

1.设置随机数种子

2.通过复杂的数学运算生成序列的下一个数

如果用第二种,虽然序列几乎不可能预测,但他仍具有确定性(因为它是由上一个数计算而来)。为防止下一个数被预测,就必须设置种子,而且每次都不同;从哪里获取这样一个数呢? 很简单–系统时间

获取随机数

首先引入头文件

include <cstdlib>  //支持rand和srand函数
include <ctime>    //支持系统时间

设置种子, 注;不管获取多少次随机数,都只设置一次随机数

srand(time(nullptr));  //nullptr  即空指针(null point) 也可直接改为NULL或者0
srand(time(0));
srand(time(NULL));

设置好随机数后,就可以调用rand生成随机数了
`cout<<rand()<<endl;//生成一个

cout<<rand()<<endl;//生成另一个`
在这里插入图片描述

如何设置范围呢

一般应用取余符号%将范围控制在0~n-1之间一个数。所以要获得0-n之间的随机数只需要末尾加1

下面一个程序模拟生成1到6的随机数

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{srand(time(nullptr));
for(int i=0;i<10;++i)
{cout<<(rand()%6)+1<<end;
}
return 0;
}

在这里插入图片描述

发布了15 篇原创文章 · 获赞 17 · 访问量 6928

猜你喜欢

转载自blog.csdn.net/weixin_45907018/article/details/104072371
今日推荐