一、rand()

1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。即,rand()会返回一个范围在0到RAND_MAX(32767)之间的伪随机数(整数)。
2、rand()函数需要的头文件是:“stdlib.h”
rand()函数原型:int rand (void);
使用rand()函数产生0-99以内的随机整数:int number = rand() % 100;
3、在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。随机种子相同,每次产生的随机数也会相同。
如下: 产生介于 1 到 10 间的随机数值,此范例未设随机数种子

#include<stdio.h>
#include<stdlib.h>
int main()
{  int i,j;  for(i=0; i<10; i++)  {  j=1+(int)(10.0 * rand()/(RAND_MAX+1.0));//or  j = 1+(int)(rand()%10)  printf("%d ",j);  }
}
//输出
3 4 8 7 10 2 4 8 9 6
3 4 8 7 10 2 4 8 9 6 //再次执行仍然产生相同的随机数

二、srand()

1、srand()函数需要的头文件仍然是:”stdlib.h”
srand()函数原型:void srand (usigned int seed);
2、通常rand()产生的随机数在每次运行的时候都是与上一次相同的,这样是为了便于程序的调试。若要产生每次不同的随机数,则可以使用srand( seed )函数进行产生随机化种子,随着seed的不同,就能够产生不同的随机数。
3、还可以包含”time.h”头文件,然后使用srand(time(0))来使用当前时间使随机数发生器随机化,这样就可以保证每两次运行时可以得到不同的随机数序列,同时这要求程序的两次运行的间隔超过1秒。
如下:产生介于 1 到 10 间的随机数值,此范例与执行结果可与 rand()进行对比

#include<time.h>
#include<stdio.h>
#include<stdlib.h>
int main()
{  int i,j;  srand((int)time(0));  for(i=0; i<10; i++)  {  j = 1+(int)(rand()%10);  printf(" %d ",j);  }
}
8 4 5 3 6 2 3 5 9 8
7 3 6 7 2 2 4 8 6 5//再次执行产生不同的随机数

三、产生指定范围内的随机整数的方法

1、采用“模除+加法”的方法
总的来说,可以表示为:int num = rand() % n +a;
其中的a是起始值,n-1+a是终止值,n是整数的范围。
2、如果要产生1~100,则是这样:int num = rand() % 100 + 1;
3、一般性:rand() % (b-a+1)+ a ; 就表示 a~b 之间的一个随机整数。
(由于rand() % (b-a+1) 表示0~b-a之间的整数)
4、若要产生0~1之间的小数,则可以先取得0~10的整数,然后均除以10即可得到“随机到十分位”的10个随机小数。
若要得到“随机到百分位”的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依 此类推。

C/C++中rand()函数产生随机数的用法相关推荐

  1. C语言中使用rand()函数产生随机数用法

    srand和rand函数的用法 参考链接:关于 time() 函数 关于 rand() 函数 需要的头文件是<stdlib.h> rand()函数说明:产生一个范围在0~RAND_MAX之 ...

  2. c++ stdlib中rand()函数的值范围

    范围是0~32767. 库函数中系统提供了两个函数用于产生随机数:srand()和rand(). 原型为: 函数一:int rand(void): 返回一个[0,RAND_MAX]间的随机整数. 函数 ...

  3. C++中rand()函数的用法

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

  4. C语言rand()函数产生随机数详解

    C语言rand函数产生随机数详解 1.rand函数的原型,功能和界限 2.用rand函数获取随机数 3.随机数生成原理 1.rand函数的原型,功能和界限 rand函数的原型: #include &l ...

  5. pythonlower函数_python中lower函数实现方法及用法讲解

    之前小编介绍过python中将字符串小写字符转为大写的upper函数的使用方法(upper函数).有将小写转为大写的需要,那也有将大写转为小写的情况.本文主要介绍在python中可以将字符串大写自摸转 ...

  6. Python pandas 中loc函数的意思及用法,及跟iloc的区别

    Python pandas 中loc函数的意思及用法,及跟iloc的区别 loc和iloc的意思 loc和iloc的区别及用法展示 参考文献 loc和iloc的意思 首先,loc是location的意 ...

  7. rand()函数100000随机数_利用随机函数Rand、Randbetween制作抽奖器应用技巧解读

    在Excel系统中,随机数函数有两个,分别为Rand和Randbetween,其作用也是不相同的,Rank函数的作用为生成0-1之间的随机数,而Randbetween函数的作用为生成指定范围内的随机数 ...

  8. rand()函数100000随机数_Excel之数学函数SQRT/MOD/EXP/LN/RAND

    本部分主要包括ABS函数.SQRT函数.SIGN函数.MOD函数.POWER.EXP函数.LN函数.LOG函数.LOG10函数.RAND函数.RANDBETWEEN函数.PI函数.SIN函数.COS函 ...

  9. rand()函数100000随机数_随机函数Rand、Randbetween应用技巧解读

    在Excel系统中,随机数函数有两个,分别为Rand和Randbetween,其作用也是不相同的,Rank函数的作用为生成0-1之间的随机数,而Randbetween函数的作用为生成指定范围内的随机数 ...

最新文章

  1. 算法---------前 K 个高频元素(Java版本)
  2. 中国最新奥数竞赛成绩出炉:南师大附中女生严彬玮满分夺冠!60人国家集训队名单公布...
  3. jquery之ajax——全局事件引用方式以及各个事件(全局/局部)执行顺序
  4. itext库产生word文档示例(.doc)
  5. python多线程 不在main_Python多线程
  6. Python函数(2)
  7. java编程连接mysql_Java编程学习之JDBC连接MySQL
  8. 汉拓中国CRM评估报告简介
  9. 第十一章:Java_多线程
  10. 读中文_挑战来了!康辉喊你读中文十级绕口令!
  11. java jdbc(mysql)驱动源码分析_JAVA JDBC(MySQL)驱动源码分析(二)
  12. python extract的使用_Python extract及contains方法代码实例
  13. bash mysql 循环输出_Bash实用技巧:同时循环两个列表
  14. Ubuntu系统下ntp服务器搭建2
  15. python 六剑客(匿名函数和内建函数)
  16. Postgres invalid command \N数据恢复处理
  17. 《Oracle从入门到精通》
  18. 计算机实训实验报告,审计实务实验报告总结审计实训实验报告计算机审计实验总结...
  19. 网络中的海底隧道——MPLS
  20. 服务器机箱销售跑哪些地方,网购主机老出问题?其实你早已上当受骗,这些猫腻很多人都不知道...

热门文章

  1. centos7上配置Samba服务器完成与windows的文件共享
  2. 操作系统难点解析之进程和线程
  3. centos6.6安装hadoop-2.5.0(四、hadoop HA安装)
  4. linux远程登录ssh免密码
  5. Exchange企业实战技巧(27)邮件中使用数字签名和邮件加密功能
  6. Oracle:集群因子
  7. MyEclipse导入jquery-1.8.0.min.js等文件报错的解决方案
  8. Windows 2000本地路由表
  9. LINQ 中的 select
  10. JavaScript更改class和id的方法