srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列

C++产生任意类型的随机数,利用的是C++的模板函数。代码实现如下:

#include <iostream>
#include <time.h>

using namespace std;

template<typename T>

T randT(T Lower, T Upper)

{
T temp;
if (Lower > Upper)
{
temp = Upper;
Upper = Lower;
Lower = temp;

}

return rand() / (double)RAND_MAX *(Upper - Lower) + Lower;

}

int main()
{

srand((unsigned)time(NULL));
for (int i = 0; i < 10; i++)
cout << randT<double>(5.0, 6.0) << endl;

for (int i = 0; i < 50;i++)
cout << randT<int>(5, 10) << endl;

while (1)
{
}
return 0;
}

注意srand要在程序运行入口设置一次就可以,这样子保证以后每次运行产生的随机序列将不会跟上次相同,如果没有加srand的话将每次产生的随机序列跟上次是相同的!

运行平台VS2013,效果如下:

C++随机产生任意类型某个区间范围的随机数相关推荐

  1. 在SQL Server中保存和输出任意类型的文件

    我们可以把任意类型的文件保存到SQL Server中,在进行例子之前,先建立测试用表格,TestFile.sql: if exists (select * from dbo.sysobjects wh ...

  2. runtime 任意类型 model 数据库方便存储

    //这里边直接上代码 之后我在慢慢地讲解  之后我的QQ:378254160 我有DEMO 方便你们的使用联系我备注 runtime+数据库+任意model类型  当然有时候也是有局限的 //Data ...

  3. python随机生成车牌_Python实现随机生成任意数量车牌号

    之前做课设的时候舍友遇到了需要生成500w量级车牌号的问题,于是我便写了一个随机生成车牌号的程序,希望各位采纳. 注:Python实现 import random def chepaihao(len= ...

  4. mac邮件过滤器SpamSieve,支持任意类型的任意数量的电子邮件帐户

    SpamSieve for mac是适用于Mac系统的一款邮件过滤器.spamsieve mac支持任意类型的任意数量的电子邮件帐户,可以通过各种标准可靠地识别哪些消息不是垃圾邮件,了解您的合法邮件是 ...

  5. golang 排序list_Go语言使用sort包对任意类型元素的集合进行排序的方法

    本文实例讲述了Go语言使用sort包对任意类型元素的集合进行排序的方法.分享给大家供大家参考.具体如下: 使用sort包的函数进行排序时,集合需要实现sort.Inteface接口,该接口中有三个方法 ...

  6. Golang 为什么不能直接将任意类型数组赋值给 []interface{}完成泛型操作

    想用 []interface{} 类型来接受一个任意类型的数组,从而进行泛型操作时,发现直接赋值会发生错误,导致 panic var dataSlice []int = foo() var inter ...

  7. BOOST使用 proto 转换进行任意类型操作的简单示例

    BOOST使用 proto 转换进行任意类型操作的简单示例 实现功能 C++实现代码 实现功能 BOOST使用 proto 转换进行任意类型操作的简单示例 C++实现代码 #include <i ...

  8. typescript设置只读属性和任意类型

    对象中的一些字段只能在创建的时候被赋值,那么可以用 readonly 定义只读属性 interface Zerb {readonly id: numbername: stringage?: numbe ...

  9. Google Doc API研究之一:模拟页面上传任意类型文件

    一直以来想要做个程序,将google doc用作网盘,程序做 的差不多了才发现不是所有的人都可以上传任意类型的文件,只有商业用户才可以.商业用户是要交钱的的,这与我们倡导的免费精神相关太远.怎么办,我 ...

最新文章

  1. php值传参,引用传参以及对象传参
  2. 《企业大数据系统构建实战:技术、架构、实施与应用》一3.2 如何选择解决方案...
  3. 史上最全 BAT 大厂面试题整理
  4. ruby 生成哈希值_哈希== Ruby中的运算符
  5. 前端学习(2747):uniapp环境搭建
  6. 操作系统之I/O管理:3、设备的分配与回收(设备控制表DCT、控制器控制表COCT、通道控制表CHCT、系统设备表SDT、逻辑设备表LUT)
  7. 141.4. 分布式安装(CentOS 6 + hadoop-1.1.2)
  8. 回到顶部效果之加速置顶
  9. 30. Understand the ins and outs of lining
  10. 树形背包O(n * v^2)入门
  11. C语言差异化定价,双边市场中产品差异化与平台定价研究
  12. Windows10添加自定义右键菜单
  13. 程序猿的24个段子:栈和队列的区别是啥?
  14. 《今日简史》谈到的生物技术和人工智能技术
  15. 狼人杀游戏(单人联机)(C++)
  16. 最长上升子序列-python
  17. IIS 元数据访问失败
  18. 问题 G: 21级期末机试-谍影寻踪(10分)
  19. Java邀请码生成小工具
  20. 中信证券600030

热门文章

  1. 深信服2018春季招聘-研发卷编程题 - 题解
  2. 浅谈CPU位数和操作系统位数
  3. 浅谈Word.Application,关于js操作word文档的使用
  4. ubuntu 18.04 识别不到有线网卡
  5. 13部成功预知未来科技的科幻电影
  6. 苹果MACOS电脑修改mac地址
  7. js动态向页面添加元素
  8. IDEA工具避坑指南(七):git@github.com: Permission denied|You must supply a key in OpenSSH public key format详解
  9. 通过SendGrid进行邮件的发送【Java】
  10. 解决电脑本地网络连接显示红叉又可上网问题