一、int rand(void);

  • 函数所在的头文件是stdlib.h;
  • 其内部实现线性同除法,不是真正的随机数。通常rand()%x是指在x范围内取模,返回值0-x;
  • 系统默认随机种子是1;

二、void srand(unsigned  int  seed);

  • 函数所在的头文件是stdlib.h;
  • srand()用来设置rand()产生随机数时的随机数种子;
  • 参数seed必须是个整数,通常可以利用time(0)的返回值或NULL来当做seed;

三、二者联系

  rand()和srand()要一起使用,其中srand()用来初始化随机数种子,rand()用来产生随机数。

四、公式

  通用公式:a + rand() % n ;其中的a是起始值,n是整数的范围。

  1.rand() % (b-a))+ a ——含a不含b;

  2.rand() % (b-a+1))+ a ——含a和b;

  3.rand() % (b-a))+ a + 1 ——不含a含b;

五、程序实例

  

#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std; int main(){
srand(unsigned(time(NULL));
for(int i=0;i<10;i++){
cout<<rand()%100+1<<"/t";
return 0;
}

  

随机函数rand()与srand()的更多相关文章

  1. 随机函数rand()和srand()

    C++中随机函数rand()和srand()的用法 一.rand() 函数名:   rand     功   能:   随机数发生器   用   法:   int rand(void); 所在头文件: ...

  2. awk之随机函数rand()和srand()

    awk之随机函数rand()和srand() 分类: LINUX 文件: abcdefg ...... 现在想要随机抽取5列组成下面的内容,允许重复: cffab ...... awk -F '' ' ...

  3. 认识随机函数rand()和srand(unsigned int )

    rand函数 int rand( void ); 函数名:   rand 功   能:   随机数发生器 用   法:   int rand(void); 所在头文件: stdlib.h 函数说明 : ...

  4. awk之随机函数rand()和srand() (转)

    转自:http://blog.chinaunix.net/uid-10540984-id-2942041.html 文件: 1234567 abcdefg ......   现在想要随机抽取5列组成下 ...

  5. 【转】随机函数的rand、srand用法

    from:深海的小鱼儿 地址:http://www.cnblogs.com/xmphoenix/archive/2011/04/07/2008622.html 随机函数的rand.srand用法 一& ...

  6. rand和srand的用法

    首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明. rand(产生随机数)表头文件: #include<stdlib.h> ...

  7. rand()和srand()

    C++中rand() 函数的用法 1.rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数. 2.如果你要产生0~99这100个整数中的一个随机整数, ...

  8. rand()与srand()

    1.不用srand()的话 两次运行程序产生的随机数序列相同 2.用srand() 两次运行程序产生的随机数则不同 示例程序: #include<iostream> #include< ...

  9. Mysql 随机函数 rand()

    rand() 函数主要有两个用处: 1.是产生随机数, 2.是随机排序(在数据较大的时候会变成性能杀手) 实例: 1.产生一个随机数,默认0~1之间的浮点数 SELECT RAND( ) 2.参数指定 ...

随机推荐

  1. linux启动httpd服务出现 Could not reliably determine the server`s fully qualified domain name.

    安装好apache启动httpd服务时,出现httpd: Could not reliably determine the server's fully qualified domain name,  ...

  2. Linux 下 LXD 容器搭建 Hadoop 集群

    配置要求 主机内存 4GB . 磁盘 100 GB 以上. HOST 机安装常用 Linux 发行版. Linux Container ( LXD ) 以主机 ubuntu 16.04 为例. 安装 ...

  3. vue安装之后的报错处理---chromedriver@2.35.0 install: `node install.js`

    报错:chromedriver@2.35.0 install: `node install.js` 这个错误的解决方法就是在你创建的项目目录,比如你创建的项目叫myVue,然后你就要在myVue这个目 ...

  4. MVVM以及vue的双向绑定

    原文:https://www.cnblogs.com/onepixel/p/6034307.html MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核 ...

  5. 承接微信小程序外包 H5外包就找北京动点软件开发团队

    承接小程序外包 微信小程序外包 H5外包 就找北京动点软件 长年承接微信小程序.微信公众号开发 全职的H5开发团队,开发过几十款微信小程序公众号案例 欢迎来电咨询,索取案例! QQ:372900288 ...

  6. python语言的基本要素

    python语言的基本要素 一.基本的数据类型: 数字类型:整型.浮点型.复数 序列类型:字符串.时间日期 容器类型:列表.元祖.字典(散列表).集合 组合数据类型(容器类型所装载的数据构成数据集合) ...

  7. js 克隆数组

    js克隆数组 1.遍历push 2.slice const a1 = [1, 2];const a2 = a1.slice() 3.concat() const a2 = a1.concat(); a ...

  8. 报错:keep must be either "first", "last" or False

    data_mac_set = data_mac.drop_duplicates(['std_mac']) 此时会报错:keep must be either "first", &q ...

  9. Kotlin 枚举类

    枚举类最基本的用法是实现一个类型安全的枚举. 枚举常量用逗号分隔,每个枚举常量都是一个对象. enum class Color{ RED,BLACK,BLUE,GREEN,WHITE } 枚举初始化 ...

  10. Axure文本框验证和外部url的调用

    文本框的验证和外部url的调用: 场景: 当输入文本框中的内容是满足下面条件时:输入4-10的数字,页面会跳转到QQ注册(https://ssl.zc.qq.com/v3/index-chs.html ...