文章目录

  • 一、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语言生成随机数的方法相关推荐

  1. c语言生成随机数(c语言生成随机数并排序)

    vc环境下c语言怎么生成随机数能给个0-100之间的程序最好了- r = ( (double)rand() / ((double)(RAND_MAX) (double)(1)) ); 请问如何用C语言 ...

  2. python random库生成伯努利随机数的方法_Python使用random模块生成随机数操作实例详解...

    本文实例讲述了Python使用random模块生成随机数操作.分享给大家供大家参考,具体如下: 今天在用Python编写一个小程序时,要用到随机数,于是就在网上查了一下关于Python生成各种随机数的 ...

  3. java 8位随机数_JAVA中生成指定位数随机数的方法总结

    JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 1 public static String getRandom1(intlen) {2 int rs = ...

  4. python得到一个10位随机数的方法及拓展

    无意中看到一个写10位随机数的方法,很有想法,然后就从学了一下随机数,相关东西都记一下 直接上代码 import random print ''.join(str(random.choice(rang ...

  5. PHP内置函数生成随机数的方法汇总

    PHP内部生成随机数的方法相比其他方法简单,不需要额外配置,是生成随机数的首选方案. 1 rand函数 rand() 函数可以不加任何参数,就可以生成随机整数.如果要设置随机数范围,可以在函数中设置 ...

  6. python生成规定随机数_python生成随机数的方法

    python生成随机数的方法 发布时间:2020-08-21 14:50:04 来源:亿速云 阅读:110 作者:小新 这篇文章主要介绍了python生成随机数的方法,具有一定借鉴价值,需要的朋友可以 ...

  7. python生成50个随机数_Python内置random模块生成随机数的方法

    本文我们详细地介绍下两个模块关于生成随机序列的其他使用方法. 随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的ran ...

  8. 生成特定分布随机数的方法:Python seed() 函数numpy scikit-learn随机数据生成

    描述 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数.. 语法 以下是 seed() 方法的语法: import random random.seed ( [x] ...

  9. 随机数生成器c语言,句子随机生成器-怎么用C语言生成随机数

    为随机数生成器初始化一个种子值在易语言中使用什么命令名 置随机数种子 () '调用格式: 〈无返回值〉 置随机数种子 ([整数型 欲置入的种子数值]) - 系统核心支持库->算术运算 英文名称: ...

  10. 利用计算机可产生随机数,一种利用计算机生成随机数的方法

    一种利用计算机生成随机数的方法 (2012-07-16 23:22:33) 标签: 随机数 函数 数值 计数器 程序运行 杂谈 这里介绍一种利用计算机生成随机数的方法,微机都有系统计数器记录自运行开始 ...

最新文章

  1. 为 Asp.net 网站新增发送手机短信功能
  2. ThinkPad -- Intel 无线网卡网络连接方法限制及无法用 Fn + F5 控制的问题
  3. Android FM模块学习之一 FM启动流程
  4. 2016/09/14
  5. CentOS 安装Nginx
  6. 广州站 | 云原生 Serverless 技术实践营精彩回顾
  7. python udp客户端 服务器实现方式_python3实现UDP协议的简单服务器和客户端
  8. MySQL max()函数
  9. 记一次线上cpu飙升100%的排查过程
  10. C语言-main函数的参数
  11. 读RESTful API 设计指南心得体会
  12. Django新手图文教程
  13. php ip纯真数据库Dat,PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
  14. 2022年电子商务概论(农)之形考作业二
  15. 如何去掉空格 oracle,oracle数据库中如何去除空格
  16. oracle toad 价格,Toad for oracle 软件产品模块对比,方便大家选型。
  17. Java 上传附件后端接口大体流程和逻辑
  18. 如何利用计算机打德文,如何在德语键盘上打问号
  19. 视频回顾 | Pulsar Summit Asia 2020 · 场景案例(上):即时零售, 金融证券, 物联网, 电信计费等...
  20. 三角函数积分的换元法

热门文章

  1. 黑苹果声音低、有杂音、爆音解决方案
  2. 【GMSK】研究PCM/FM和GMSK的调制和解调方法
  3. APDU指令返回码及其代表含义
  4. 详解微信小程序开发教程
  5. SCI分区:JCR分区和中科院分区 的差别
  6. 优启通制作系统u盘_IT天空优启通(U盘PE制作助手)制作U盘PE启动图文教程
  7. python 每周第一天和最后一天
  8. R语言:商业数据分析实例(4)【总结篇,回归】
  9. 深圳大学计算机考研教材,广东-深圳大学计算机考研院校初试科目及参考书汇总...
  10. 学习用Python实现简单区块链