程序中开发常用的随机数的产生探讨

[复制链接]
921|13
手机看帖
扫描二维码
随时随地手机跟帖
chuntian2016|  楼主 | 2017-4-29 10:48 | 显示全部楼层 |阅读模式
这个在程序中,是经常看到的,程序的随机数的能解决很多的问题的,不过还是需要这些随机水函数是怎样被调用的,,这些现在就做些介绍的
这里说的是rand()函数, srand()函数,和time()函数。需要说明的是,iostream头文件中就有srand函数的定义,不需要再额外引入stdlib.h;而使用time()函数需要引入ctime头文件

chuntian2016|  楼主 | 2017-4-29 10:49 | 显示全部楼层
需要说明的是,iostream头文件中就有srand函数的定义,不需要再额外引入stdlib.h;而使用time()函数需要引入ctime头文件。
这一点的还是需要注意的。。

使用特权

评论回复
chuntian2016|  楼主 | 2017-4-29 11:04 | 显示全部楼层
使用rand()函数获取一个随机数
如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。。

使用特权

评论回复
chuntian2016|  楼主 | 2017-4-29 11:05 | 显示全部楼层
使用rand()函数获取一定范围内的一个随机数;
如果想要获取在一定范围内的数的话,直接做相应的除法取余即可;
如:
#include<iostream>
using namespace std;
int main()
{
for(int i=0;i<10;i++)
{
  //产生10以内的整数
  cout<<rand()%10<<endl;
}
}

使用特权

评论回复
chuntian2016|  楼主 | 2017-4-29 11:05 | 显示全部楼层
如何获取小数呢?例如:我们可以先获得10001以内的整数(0~10000),然后再用这个整数除以10000得到小数点后两位的小数。
#include<iostream>
using namespace std;
int main()
{
for(int i=0;i<10;i++)
{
  cout<<(rand()%10001)/10000.0<<endl;
}
}

注意10000.0后面的有个小数点,表示结果为浮点数。

使用特权

评论回复
chuntian2016|  楼主 | 2017-4-29 11:07 | 显示全部楼层
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(0));
for(int i=0;i<10;i++)
{
  //产生10以内的整数
  cout<<rand()%10<<endl;
}
}
这个是利用time函数产生每次结果都不一样的随机数。。

使用特权

评论回复
vibra2016| | 2017-4-29 13:03 | 显示全部楼层
这随机数的介绍非常不错,,我先看看学习的

使用特权

评论回复
angerbird| | 2017-4-29 16:05 | 显示全部楼层
chuntian2016 发表于 2017-4-29 11:07
#include
#include
using namespace std;

这个措施是非常不错的,,产生的随机数都不一样。。

使用特权

评论回复
comeon201208| | 2017-4-30 11:11 | 显示全部楼层
随机数的产生与使用是非常普遍

使用特权

评论回复
baimiaocun2015| | 2017-5-22 22:35 | 显示全部楼层
关于随机数的应用还是要谨慎的

使用特权

评论回复
clvert| | 2017-5-25 10:10 | 显示全部楼层
貌似只用rand的话产生的随机数具有一定的规律性 不能算作严格的随机数

使用特权

评论回复
dalarang| | 2017-5-25 12:35 | 显示全部楼层
rand是伪随机数。

使用特权

评论回复
comeon201208| | 2017-5-28 23:07 | 显示全部楼层
随机函数的使用还是非常关键的。

使用特权

评论回复
vibra2016| | 2017-5-29 17:51 | 显示全部楼层
随机函数应用正确的话,是可以解决很多应用上的难题的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

1485

帖子

1

粉丝