文章目录

  • 1、生成随机数
  • 2、生成一定范围随机数
  • 3、获取视频教程
  • 4、版权声明

在C/C++程序开发中,会经常用到随机数这个功能,例如编写游戏类(纸牌)的程序时就需要用到随机数。

1、生成随机数

在C语言中,我们使用 <stdlib.h> 头文件中的 srand和rand 函数来生成随机数。

void srand(unsigned int seed);   // 随机数生成器的初始化函数
int  rand();                        // 获一个取随机数

srand函数初始化随机数发生器(俗称种子),在实际开发中,我们可以用时间作为参数,只要每次播种的时间不同,那么生成的种子就不同,最终的随机数也就不同,通常我们采用
<time.h> 头文件中的 time 函数即可得到一个精确到秒的时间作为种子。

示例(book63.c)

/** 程序名:book63.c,此程序用于演示随机数* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main()
{int ii;srand(time(0));  // 播下随机种子for (ii=0;ii<5;ii++)  // 生成5个随机数{printf("%d ", rand());  // 获取随机数}printf("\n");
}

运行效果

2、生成一定范围随机数

在实际开发中,需求往往是一定范围内的随机数,对于产生一定范围的随机数,就需要使用一定的技巧,常用的方法是取模运算(取余数),再做一个加法运算:

  int a = rand() % 50;   // 产生0~49的随机数

如果要规定上下限:

  int a = rand() % 51 + 100;   // 产生100~150的随机数

取模即取余数,rand()%51+100,rand()%51是产生 0~50 的随机数,后面+100保证 a
最小只能是 100,最大就是 50+100=150。

示例(book64.c)

/** 程序名:book64.c,此程序用于演示生成指定范围内的随机数* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main()
{int ii;srand(time(0));  // 播下随机种子。for (ii=1;ii<=100;ii++)  // 生成100个随机数。{printf("%03d ",rand()%51 + 100);  // 获取100-150之间的随机数。if (ii%20==0) printf("\n");  // 每20个数换行。}printf("\n");
}

运行效果

注意,rand函数生成的随机数是不会重复的,但取模运算后的结果会重复,在实际开发中,需要编写额外的代码排除重复的数据。

3、获取视频教程

百万年薪程序员录制,《C/C++高性能服务开发基础》视频教程已在CSDN学院发布,优惠价12元,地址如下:
https://edu.csdn.net/course/play/29402

4、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net)

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!

C语言rand函数生成随机数详解和示例相关推荐

  1. c语言rand函数生成随机数,详解C语言生成随机数rand函数的用法

    说到rand函数,大家是不是会和EXCEL中的rand函数混淆,当小编第一次接触的时候也以为是EXCEL的函数,本文是爱站技术频道小编为大家带来的详解C语言生成随机数rand函数的用法,一起来看看吧! ...

  2. c语言对于随机数的产生于应用,c语言之产生随机数详解

    在编程中,我们经常需要用到各种随机数,下面我来简单谈谈随机数产生机理. 原理:产生随机机数的原理是计算机根据一个值(一般称作随机种子),然后把这个值作为参数,在经过一系列的公式运算计算出一个值,这个值 ...

  3. C语言 rand函数生成随机数

    在实际的项目中,有时候需要生成一个随机数,在C语言中随机数的生成可以通过使用rand函数来实现. rand函数包含在头文件stdlib.h里,因此使用rand函数需要声明包含stdlib.h. #in ...

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

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

  5. java语言数据库编程_JAVA语言数据库编程实例详解

    本文主要向大家介绍了JAVA语言数据库编程实例详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. DOS命令登录MySQL数据库:mysql -h 127.0.0.1 -u root ...

  6. python中rand和randn_基于numpy.random.randn()与rand()的区别详解

    下面为大家分享一篇基于numpy.random.randn()与rand()的区别详解,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 numpy中有一些常用的用来产生随机数的函数,randn ...

  7. c语言写扫雷新手详解

    c语言写扫雷新手详解 一.用到的知识点 1.分支语句 2.循环语句 3.二维数组 4.最好分块,使代码的功能更加独立,思维逻辑更加清楚,此程序我写了:test.c用来存放我的主函数,game.h用来定 ...

  8. python随机数程序源码_Python 实现随机数详解及实例代码

    Python3实现随机数 random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Pyth ...

  9. 嵌入式c语言为什么变量定义在前面,嵌入式C语言数据类型和变量详解

    原标题:嵌入式C语言数据类型和变量详解 一般来讲,标准的C语言类型在嵌入式编译器中是合法的.但由于嵌入式控制器的受限环境.嵌入式c语言的变量和数据类型具有新的特征,这些特征体现在如下方面. 嵌入式C语 ...

最新文章

  1. 大数据、智慧城市成生态贵州新名片
  2. (十二)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - zookeeper注册中心安装
  3. 郑州大学采用计算机,郑州大学计算机系作业
  4. IDEA中查看SVN项目历史版本更新信息
  5. Maven-学习笔记04【基础-Maven生命周期和概念模型图】
  6. JAVA基本数据类型、数据类型转换
  7. jquery中Live方法不可用,Jquery中Live方法失效
  8. 10 操作系统第二章 进程管理 死锁、死锁的处理策略 银行家算法
  9. python set_Python Set联合
  10. H5桌面通知: Notification API 的应用
  11. Platform SDK and SB2
  12. adb连接Android设备使用screenrecord命令录屏和screencap命令截屏
  13. Hive实现同比环比计算
  14. 【Antd】Pagination中的current和pageSize参数自动同步到url当中
  15. PC端自适应使用rem
  16. 根据IP统计网站访问次数
  17. 学习 Tornado
  18. Python——Python Enhancement Proposal
  19. 分时线的9代表什么_一位血亏百万股民血泪史告诉你:为什么要打板?
  20. Symbian 术语表

热门文章

  1. 哈夫曼编码原理与Python实现代码(附手动推导过程原稿真迹)
  2. 使用Python检查密码安全程度
  3. 广告传媒实际税负怎么计算_建材销售类营业额3亿,缺进项致税负高?成立4家独资企业节税90%...
  4. python map 函数使用
  5. 什么时候不选择mysql_MySQL请选择合适的列_MySQL
  6. 如何在python导入包_python如何引入包
  7. 设置最小值_WELSIM中设置有限元计算结果的最大最小值
  8. 服务器系统 比较,各种服务器操作系统比较
  9. mac通过android打电话,应用短评:用Mac打电话的意义在哪?
  10. C++之Big Three:拷贝构造、拷贝赋值、析构函数探究