随机数在编程中还是有所应用,最近从网上学习到这方面一点知识,想把它写下来。
一、使用随机数所需要的头文件和函数:
        头文件:cstdlib(C++ 的 standard libraray)    ctime
        函数:    rand()       srand(int seed);   time(NuLL);
二、随机数的的理解:
       随机数不是真的随机数,它是通过公式(有很多)计算出来的。它就像函数一样——srand(seed)中的seed好比自变量x,而rand()则是seed对应的因变量的值。
       换句话来说,如果seed值固定,那么产生的随机数也不变。 代码如下:
代码如下:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand();
for(int i = ; i <= ; i ++)
{
cout << rand() << " ";
}
return ;
}

运行n次结果

41 18467 6334 26500 19169
--------------------------------
Process exited after 0.576 seconds with return value 0
请按任意键继续. . .

如何产生更像“随机数”的随机数呢,这时候time(NULL)就排上用场。time(NULL)会返回自 Unix 纪元(January 1 1970 00:00:00 GMT)起的当前时间的秒数,因为时间在变,所以由rand()产生的随机数就不固定了。
代码如下:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
for(int i = ; i <= ; i ++)
{
cout << rand() << " ";
}
return ;
}

运行第一次结果:

12114 22257 23578 61 16877
--------------------------------
Process exited after 0.5004 seconds with return value 0
请按任意键继续. . .

运行第二次结果:

12212 17030 2447 1064 31402
--------------------------------
Process exited after 0.4893 seconds with return value 0
请按任意键继续. . .
(可以看到,每次的结果不同)
三、随机数的使用公式
       rand() % 随机数的范围的长度 + 随机数范围的最小值
       举例:如果我要产生10 — 15 的随机数,公式为 rand() % (15 - 10 + 1) + 10。

C语言随机数使用方法的更多相关文章

  1. 用c语言产生随机数的方法

    用c语言产生随机数的方法 在C语言中,rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列 ...

  2. 【转】linux shell实现随机数多种方法(date,random,uuid)

    在日常生活中,随机数实际上经常遇到,想丢骰子,抓阄,还有抽签.呵呵,非常简单就可以实现.那么在做程序设计,真的要通过自己程序设计出随机数那还真的不简单了.现在很多都是操作系统内核会提供相应的api,这 ...

  3. java 产生随机数的方法

    有三种方法: Math.random():这个方法返回一个[0.0, 1.0)的一个随机double型数.它实际是调用Random类的nextDouble()方法.只不过Math类使用的是一个静态随机 ...

  4. PHP:产生不重复随机数的方法

    来源:http://www.ido321.com/1217.html 无论是Web应用,还是WAP或者移动应用,随机数都有其用武之地.在最近接触的几个小项目中,我也经常需要和随机数或者随机数组打交道, ...

  5. [转贴]从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介

    一.C语言错误处理方法 1.返回值(if … else语句判断错误) 2.errno(linux 系统调用) 3.goto语句(函数内局部跳转) 4.setjmp.longjmp(Do not use ...

  6. Oracle存储过程中不支持DML语言的解决方法(针对遇见的DROP关键字)

    ---存储过程中的原语句: ---删除表 DROP TABLE A_NEWTDDATA; --报错 经查询:存储过程不支持DML语言: 解决方法: execute immediate 'DROP TA ...

  7. Go语言的构建方法总结

    趁着近期要换工作的空闲时间,看了一下Go语言,与C++相比,Go语言的确在不少地方轻便了不少,例如:增加了内置的字符串类型.多个返回值.支持协程.简单的构建方法等等.使得在生产效率方面有了不少的提高. ...

  8. js生成随机数的方法实例总结 [收藏]

    js生成随机数的方法实例总结 js生成随机数主要用到了内置的Math对象的random()方法.用法如:Math.random().它返回的是一个 0 ~ 1 之间的随机数.有了这么一个方法,那生成任 ...

  9. Python生成随机数的方法

    这篇文章主要介绍了Python生成随机数的方法,有需要的朋友可以参考一下 如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与 ...

随机推荐

  1. nginx配置SSL实现服务器/客户端双向认证

    http://blog.csdn.net/kunoy/article/details/8239653 本人不才,配置了两天,终于搞出来了,结合网上诸多博文,特此总结一下! 配置环境: Ubuntu 1 ...

  2. [爬虫]BeautifulSoup4

    1.Beautiful Soup的简介 Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.python式的函 ...

  3. auth.go

    ), fmt.Errorf("invalid permission type: %s", s) } type authenticator struct {     conn *gr ...

  4. 毕业样本=[华威大学毕业证书]Warwick原件一模一样证书

    华威大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...

  5. Python 命令行(CLI)基础库

    在 CLI 下写 UI 应用 前阵子看了一下自己去年写的 Python-视频转字符动画,感觉好糗..所以几乎把整篇文章重写了一遍.并使用 curses 库实现字符动画的播放. 但是感觉,curses ...

  6. 一次搞懂 Generator 函数

    1.什么是 Generator 函数 在Javascript中,一个函数一旦开始执行,就会运行到最后或遇到return时结束,运行期间不会有其它代码能够打断它,也不能从外部再传入值到函数体内 而Gen ...

  7. git解析日志常用命令

    git diff --name-only ORIG_HEAD 获取变更列表 git log -p 查看每个提交引入的实际更改. git log --oneline --decorate 查看日志列表 ...

  8. Sqlserver事务隔离级别详解

    sqlserver存储方式   页    sqlserver是以页的形式存储数据,每个数据页的大小为8KB,sqlserver会把空间分为多个页,sqlserver与数据交互单位最小的io操作就是页级 ...

  9. Elasticsearch【快速入门】

    前言:毕设项目还要求加了这个做大数据搜索,正好自己也比较感兴趣,就一起来学习学习吧! Elasticsearch 简介 Elasticsearch 是一个分布式.RESTful 风格的搜索和数据分析引 ...

  10. netcore使用 jenkins + supervisor 实现standalone下多副本自动化发布

    上一篇我们用jenkins做了一个简单的自动化发布,在shell中采用的是 BUILD_ID=dontKillMe nohup dotnet xxx.dll &  这种简单的后台承载,如果你的 ...