C++当中随机数的产生
来源:互联网 发布:淘宝的选购热点 编辑:程序博客网 时间:2024/04/30 05:44
在编程当中我们时常需要产生一些随机数,C++当中随机数的产生主要依靠两个函数rand和srand,下面谈谈这两个函数及其用法。
1. rand()
rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.hrand()产生的实际上是伪随机数,例如如下代码:
#include "stdafx.h"#include#include "ctime"using namespace std;int _tmain(int argc, _TCHAR* argv[]){for (int i = 0; i < 10; i++){ cout << rand() << endl;}system("Pause");return 0;}产生的结果:表面上看好像产生了10个随机数,但是多试验几次就会发现,始终三这几个数。如果要产生一定范围内的随机数的话可以直接采用取余运算即可,例如产生10~20的随机数可以这样:10+rand()%10;如果要产生小数的话,可以采用先取余再除的方法,例如:(rand()%1001)/1000.02.srand()srand()用来设置rand()产生随机数时的随机数种子。在调用rand()函数产生随机数前,必须先利用srand()设好随机数种子(seed), 如果未设随机数种子, rand()在调用时会自动设随机数种子为1。上面的两个例子就是因为没有设置随机数种子,每次随机数种子都自动设成相同值1 ,进而导致rand()所产生的随机数值都一样。通常可以利用time(0)的返回值来当做seed,time()定义在ctime当中。如果采用以下代码:#include#includeusing namespace std;int main(){ srand(time(0)); for(int i=0;i<10;i++) { //产生10以内的整数 cout<<rand()%10<<endl; }}
就会发现,每次试验的随机数的结果变得不同了。
0 0
- C++当中随机数的产生
- Java当中产生随机数
- C语言随机数的产生
- C#中随机数的产生
- C语言随机数的产生
- C/C++随机数的产生
- C语言随机数的产生
- c++/c 产生随机数
- 用C语言产生真正的随机数
- 用C语言产生真正的随机数
- c产生一组不重复的随机数
- obective-c产生不同的随机数 方法
- C语言中产生随机数的方法
- c++和c语言随机数的产生
- C语言中产生随机数的方法
- objective-c 中三种产生随机数的方法
- C语言产生满足正态分布的随机数
- C语言中产生随机数的办法
- 数数
- JAVA原理学习
- VB 常用函数
- ArrayList 的线程安全问题
- 条款32 确定你的public继承塑模出is-a关系
- C++当中随机数的产生
- 看懂这道题,就学会指针了
- Python使用easy_install安装第三方插件、安装包
- Qt中Ui名字空间以及setupUi函数的原理和实现
- uniq
- easyui中的datagrid下垂直滚动条不显示
- iOS开发 - 百度地图后台持续定位
- wins与dns的区别
- MFC 使用双缓冲技术绘制坐标曲线