c语言 rand_C语言随机数
1. 随机数概述
编写程序过程中,我们经常需要产生一些随机数。随机数在程序中分为两种:
1. 真随机数:完全没有规则,无法预测接下来要产生的数。
2. 伪随机数:通过一些预先设定好的规则产生不能简单预测的数。
当然,我们在程序中使用的随机数主要是伪随机,一般场景下,伪随机数能够满足我们大部分的场景了。本篇文章给大家介绍下,如何在C语言中产生一个伪随机数。
伪随机数在C语言中产生分为两个步骤:
1. 设置随机数种子。
2. 获得随机数。
设置随机数种子和获得随机数,我们需要使用两个函数。srand 函数 和 rand 函数。使用这两个函数需要导入头文件:#include
2. srand 函数用法
设置随机数种子时,我们一般会用时间值作为种子。这是因为时间值一直都在变化。我们使用 time 函数获得当前时间值,使用该函数需要先导入头文件 #include 。
打印出来的是一串数字,并不是我们常见的时间格式。Time 函数主要用于获得从 1970 年 1 月 1日0时 0分0秒到现在经历的秒数。时间一直在变,所以该函数可作为一直在改变的随机数种子。
所以,srand 函数的一个常用的用法就是:
srand 的要求的参数是 unsigned int,所以需要将 time 函数返回的结果强制转换成 unsigned int 类型。
3. rand 函数使用
设置好随机数种子,rand 函数就可以根据该值来产生随机数了。在 windows 的 vs 2019 平台上,默认该函数会产生一个 0 到 32767 之间的随机数。演示代码如下:
但是实际的场景是,我们希望产生一个指定范围内的随机数。此时,我们可以让随机产生数进行取余运算符,折算成指定范围。例如:我们要产生 1-100之间的随机数,可进行如下代码编写:
1. rand() % 100 会产生一个 0-99之间的数字。
2. rand() % 100 + 1 会产生一个 1-100之间的数字、
4. 随机数使用案例
我们下面做一个练习,创建一个包含10个元素的数组,使用 for 循环产生 10 个 1-10之间的随机数存储到数组中,并打印输出。
注意:随机数种子设置一次即可。
c语言 rand_C语言随机数相关推荐
- c语言输出字母随机数,你好,怎样用c语言输出一个1到100的随机数
你好,怎样用c语言输出一个1到100的随机数以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 你好,怎样用c语言输出一个1 ...
- c语言中有关随机数的程序,C语言中随机数相关问题
用C语言产生随机数重要用到rand函数.srand函数.及宏RAND_MAX(32767),它们均在stdlib.h中进行了声明. int rand(void);//生成一个随机数 voidsrand ...
- C语言:生成随机数(并非固定的随机数)——rand()、srand()
C语言:生成随机数 1.rand() 函数 2.srand() 函数 3.生成一定范围内的随机数 在实际编程中,我们经常需要生成随机数. 1.rand() 函数 在C语言中,我们一般使用 <st ...
- *C语言如何使用随机数?
C语言如何使用随机数? 功能介绍 推送一些C语言方面的知识,提供C语言/C++语言资料,讨论和学习C语言/C++编程知识.给学习C语言的同学们一些帮助. 随机数的使用,是不少在学C语言过程中进行一些小 ...
- C语言中生成随机数函数
文章目录 前言 一.产生随机数 二.具体分析 1.rand函数 (1)范围 (2)对应头文件 2.srand函数 3.整合 总结 前言 本文主要详细介绍如何在C语言中生成随机数. 一.产生随机数 我们 ...
- 厦门理工计算机课设,厦门理工学院11级C语言C语言程序设计课程设计报告
<厦门理工学院11级C语言C语言程序设计课程设计报告>由会员分享,可在线阅读,更多相关<厦门理工学院11级C语言C语言程序设计课程设计报告(25页珍藏版)>请在人人文库网上搜索 ...
- 为什么我们需要一门新语言——Go语言
编程语言已经非常多,偏性能敏感的编译型语言有 C.C++.Java.C#.Delphi和Objective-C等,偏快速业务开发的动态解析型语言有 PHP.Python.Perl.Ruby.JavaS ...
- 职工信息管理程序设计c语言,C语言程序设计职工信息管理系统.docx
C语言程序设计职工信息管理系统.docx 1 数信学院数信学院 课程设计报告课程设计报告 课程名称课程名称C C 语言程序设计语言程序设计_ _ 题目名称题目名称职工信息管理系统职工信息管理系统 学生 ...
- c语言 python-C语言、Java语言和python语言的区别在哪里
原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...
最新文章
- 1、时间、FHS 学习笔记
- centos7 使用无线wifi连接
- python 网络编程第二版
- ASP处理多关键词查询实例代码
- Android Studio 多渠道打包、自动版本号及 gradlew 命令的基本使用
- word List20
- uniapp动态修改样式_uniapp样式动态绑定
- VS2008找不到MFC90d.dll错误解决方法
- 统计文件大小与文件行数
- matlab利用工作区的变量画图,在使用MATLAB“绘图”选项卡中的命令按钮绘图之前,需要( )。 答案:在工作区中选择绘图变量...
- 微信跳wap php_微信跳转wap外部浏览器接口如何实现
- 训练集和测试集的区别
- 如何在zencart里实现多标签标签云效果
- 北京招聘 | 京东广告质量部:算法实习生、算法工程师校招
- Vue中使用pdfJs预览PDF、图片
- 哪个服务器开了无限火力,国服无限火力已经开放入口?有玩家已经提前卡进无限火力模式...
- 了解到的生二孩最好的理由
- 十字军之王3Crusader Kings III mac中文
- 王阳明心学:此心光明,夫复何言
- beyond compare 中文乱码问题解决方法
热门文章
- Yarn资源分配示例
- 关键字提取_Excel根据2个关键字,批量提取字符
- 做面板数据分位数回归模型_面板数据门限回归模型
- android左右旋转动画效果图,Android新姿势:3D翻转效果原理
- 如何解决连接不上us.archive.ubuntu.com
- Caffe 编译错误记录
- faster_rcnn c++版本的 caffe 封装(1)
- CMake Error include could not find load file: AwsCFlags 解決辦法
- ionic 状态栏显示异常 statusBar
- 关于ASP.NET未能映射路径问题