C语言中 srand()函数和rand()函数
一、rand()
rand()函数需要的头文件是:<stdlib.h>
rand()函数原型:int rand(void);
rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。
在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。随机种子相同,每次产生的随机数也会相同。
使用rand()函数产生1-100以内的随机整数:int number1 = rand() % 100+1;
二、srand()
srand()函数需要的头文件仍是:<stdlib.h>
srand()函数原型:void srand (usigned int seed);
srand()用来设置rand()产生随机数时的随机数种子。参数seed是整数,通常可以利用time(0)或geypid(0)的返回值作为seed。
使用rand()和srand()产生0—99以内的随机整数
:srand(time(0));
int number1 = rand() % 100;
三、使用rand()和srand()产生指定范围内的随机整数的方法
“模除+加法”的方法
因为,对于任意数,0<=rand()%(n-m+1)<=n-m
因此,0+m<=rand()%(n-m+1)+m<=n-m+m
因此,如要产生[m,n]范围内的随机数num,可用:
int num=rand()%(n-m+1)+m;
其中的rand()%(n-m+1)+m算是一个公式,记录一下方便以后查阅。
比如产生10~30的随机整数:
srand(time(0));
int a = rand() % (21)+10
C语言中 srand()函数和rand()函数相关推荐
- c语言 strcpy原型,浅谈C语言中strcpy,strcmp,strlen,strcat函数原型
实例如下: //strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' char *strcat(char * strDest, cons ...
- C语言:srand函数与rand函数的使用(纯干货)【易懂】
C语言:srand函数与rand函数的使用(纯干货)[易懂] 文章目录 C语言:srand函数与rand函数的使用(纯干货)[易懂] 一.rand() 二.srand() 三.time() 四.运用: ...
- C语言中的rename()和remove()函数的使用及注意点
C语言中的rename()和remove()函数的使用及注意点 C语言中rename() 和remove()函数属于文件处理函数,其中rename() 对文件或目录进行移动和删除. int ret = ...
- C语言中的malloc与free函数
C语言中的malloc与free函数 malloc函数的作用是在堆中开辟一块指定大小的空间.如果开辟成功,返回空间首个字节地址,失败则返回NULL. free函数能够释放在堆中开辟的内存空间,传入一个 ...
- c语言中srand的作用,C语言中srand(), rand(), time()函数 转载
srand函数 srand函数是随机数发生器的初始化函数. 原型:void srand(unsigned seed); 用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子,后面的r ...
- 关于C语言中的malloc和free函数的用法
一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针 ...
- c++freopen函数_使用示例的C语言中的freopen()函数
c++freopen函数 C语言中的freopen()函数 (freopen() function in C) Prototype: 原型: FILE* freopen(const char *str ...
- putc函数_C语言中的putc()函数与示例
putc函数 C语言中的putc()函数 (putc() function in C) The putc() function is defined in the <stdio.h> he ...
- c语言中的printf函数_C语言中的printf()函数与示例
c语言中的printf函数 C语言中的printf()函数 (printf() function in C) The printf() function is defined in the <s ...
最新文章
- 牛逼!原来分布式事务可以这样玩!
- gogs只支持mysql5.7_Gogs 搭建教程
- ERROR in app.js from UglifyJs RangeError: Maximum call stack size exceeded
- 二叉查找树(二叉排序树)创建,插入,删除操作。
- Linux下面护眼软件汇总
- Bash脚本教程之引号和转义
- 破解YouTube、Facebook推荐系统背后的那些算法
- 【ElasticSearch】IK分词加入标点符号
- MFC 文件I/O和串行化
- python 导出数据并发邮件_Python 获取zabbix数据图并发邮件
- Java8 实战系列-04-lambda 内置函数
- Oracle P6培训系列:15定义资源库
- Python使用Reportlab处理PDF数据 - 段落
- 计算机网络——应用层
- 谷歌生物医学专用翻译_一款好用的文献英中翻译软件
- 量化投资中收益率的计算方法
- NHibernate(一) 转自止于至善
- 病人信息管理html,基于JSP住院病人信息管理系统本科.doc
- matlab乖离率计算,BIAS乖离率指标计算公式
- 服务器存储的作用和用途,存储服务器有四大作用你都清楚吗?