C语言生成随机数的方法
文章目录
- 一、rand函数:
- 二、srand函数:
- 三、time函数:
- 四、生成范围随机数公式:
- 五、实战练习:
- 总结
一、rand函数:
int rand( void );
我们先来看一下rand函数的基本信息:
rand函数根据种子生成随机值,但是每次程序运行种子是固定的,如果只使用它实际上返回的是伪随机整数。
看上图红线部分内容:rand函数返回的伪随机整数。在调用rand之前,要先使用srand函数为伪随机数发生器设定种子。
二、srand函数:
void srand( unsigned int seed );
我们再来看一下srand函数的基本信息:
我们通过函数原型可以看到,srand需要一个无符号整形的一个种子参数,如果srand每次传入的种子相同的话,那么rand函数生成的随机值也是相同的,这在某种意义上并不随机了。
那么问题来了,要想随机值够随机的话,我们还需要一个随机种子~
通常我们使用时间作为随机数生成的种子,因为每次程序运行时间不相同,所以生成的随机数也肯定不相同。
三、time函数:
time_t time( time_t *timer );
我们再来看一下time函数的基本信息:
我们只需要给time函数传空指针NULL,他会给我们返回当前时间的时间戳。这样的话就可以实现时间种子生成随机数。
演示代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{srand((unsigned int)time(NULL));int ret = rand();printf("%d\n", ret);return 0;
}
四、生成范围随机数公式:
很多时候我们需要生成一个带范围的随机值:例如1~100。
其实这个很简单:
srand((unsigned int)time(NULL));
int ret1 = rand() % 10 + 1;//生成1~10的随机数
int ret2 = rand() % 100 + 1;//生成1~100的随机数
int ret3 = rand() % 34 + 66;//生成66~99的随机数
int ret4 = rand() % (n - m + 1) + m;//生成m~n的随机数
五、实战练习:
实战练习运用一下生成随机数:
点看这篇:C语言猜数字游戏
总结
以上就是今天要讲C语言生成随机数的内容,包含rand、srand和time函数的使用,希望对刚刚阅读本篇博客的你有所帮助。
C语言生成随机数的方法相关推荐
- c语言生成随机数(c语言生成随机数并排序)
vc环境下c语言怎么生成随机数能给个0-100之间的程序最好了- r = ( (double)rand() / ((double)(RAND_MAX) (double)(1)) ); 请问如何用C语言 ...
- python random库生成伯努利随机数的方法_Python使用random模块生成随机数操作实例详解...
本文实例讲述了Python使用random模块生成随机数操作.分享给大家供大家参考,具体如下: 今天在用Python编写一个小程序时,要用到随机数,于是就在网上查了一下关于Python生成各种随机数的 ...
- java 8位随机数_JAVA中生成指定位数随机数的方法总结
JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 1 public static String getRandom1(intlen) {2 int rs = ...
- python得到一个10位随机数的方法及拓展
无意中看到一个写10位随机数的方法,很有想法,然后就从学了一下随机数,相关东西都记一下 直接上代码 import random print ''.join(str(random.choice(rang ...
- PHP内置函数生成随机数的方法汇总
PHP内部生成随机数的方法相比其他方法简单,不需要额外配置,是生成随机数的首选方案. 1 rand函数 rand() 函数可以不加任何参数,就可以生成随机整数.如果要设置随机数范围,可以在函数中设置 ...
- python生成规定随机数_python生成随机数的方法
python生成随机数的方法 发布时间:2020-08-21 14:50:04 来源:亿速云 阅读:110 作者:小新 这篇文章主要介绍了python生成随机数的方法,具有一定借鉴价值,需要的朋友可以 ...
- python生成50个随机数_Python内置random模块生成随机数的方法
本文我们详细地介绍下两个模块关于生成随机序列的其他使用方法. 随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的ran ...
- 生成特定分布随机数的方法:Python seed() 函数numpy scikit-learn随机数据生成
描述 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数.. 语法 以下是 seed() 方法的语法: import random random.seed ( [x] ...
- 随机数生成器c语言,句子随机生成器-怎么用C语言生成随机数
为随机数生成器初始化一个种子值在易语言中使用什么命令名 置随机数种子 () '调用格式: 〈无返回值〉 置随机数种子 ([整数型 欲置入的种子数值]) - 系统核心支持库->算术运算 英文名称: ...
- 利用计算机可产生随机数,一种利用计算机生成随机数的方法
一种利用计算机生成随机数的方法 (2012-07-16 23:22:33) 标签: 随机数 函数 数值 计数器 程序运行 杂谈 这里介绍一种利用计算机生成随机数的方法,微机都有系统计数器记录自运行开始 ...
最新文章
- 为 Asp.net 网站新增发送手机短信功能
- ThinkPad -- Intel 无线网卡网络连接方法限制及无法用 Fn + F5 控制的问题
- Android FM模块学习之一 FM启动流程
- 2016/09/14
- CentOS 安装Nginx
- 广州站 | 云原生 Serverless 技术实践营精彩回顾
- python udp客户端 服务器实现方式_python3实现UDP协议的简单服务器和客户端
- MySQL max()函数
- 记一次线上cpu飙升100%的排查过程
- C语言-main函数的参数
- 读RESTful API 设计指南心得体会
- Django新手图文教程
- php ip纯真数据库Dat,PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
- 2022年电子商务概论(农)之形考作业二
- 如何去掉空格 oracle,oracle数据库中如何去除空格
- oracle toad 价格,Toad for oracle 软件产品模块对比,方便大家选型。
- Java 上传附件后端接口大体流程和逻辑
- 如何利用计算机打德文,如何在德语键盘上打问号
- 视频回顾 | Pulsar Summit Asia 2020 · 场景案例(上):即时零售, 金融证券, 物联网, 电信计费等...
- 三角函数积分的换元法