C语言如何生成随机数
C语言如何生成随机数
生成10个100以内的随机数
废话不多说直接上程序。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int ret = 0;
srand((unsigned int)time(NULL));
for(int i=0; i<10; i++)
{
ret = rand()%100;
printf("%d ",ret);
}
return 0;
}
这个程序是用来生成10个随机的数。接下来会详细说一说这个程序的构成。
随机数生成代码的分析
以上程序的关键代码是:
srand = ((unsigned)time(NULL));ret = rand()%100;
rand()函数所需头文件是
#include<stdlib.h>
rand()是生成伪随机数的函数,它会按照一定的序列来生成随机数,但是它序列是固定的:
程序每次执行它都将按照这个序列来给出随机数,所以在对rand()不加限制条件的话,生成的随机数不够随机。
time()函数所需要头的头文件是:
#include<time.h>
time()函数,值得注意的是time函数的形参,这个形参是个指针变量,通常写为time(NULL)。
这个函数的功能是,返回自1970年1月1日00:00:00到你先在电脑运行的时间(例:2018年3月24日14:14:00)之间的时间。这个数是随机的,随着你电脑运行时间而发生改变。
srand()函数所需要的头文件是:
#include<stdlib.h>
srand()函数是伪随机数发生器种子,它给rand()函数一个产生一个起点。在单独使用rand()函数的时候,它将1作为默认参数。srand()的形参是一个无符号的类型,即unsigned类型,可以是int,float,char等等。
但在这里为了达到随机数效果,将使用time()函数来产生一个起点,它直接作用于rand()函数。
注意:
ret = rand()%100;
rand()%100是为了产生100以内的随机数。
有趣的小程序
这是一个电脑自己猜数字的小程序。
#include<stdio.h>
#include<time.h>
#include<process.h>
#include<stdlib.h>
#include<Windows.h>
int main()
{int ret = 0;int guess = 0;int left = 0;int right = 100;srand((unsigned int)time(NULL));ret = rand() % 100;printf("提供的答案数是->%d\n",ret);guess = 50;while (1){if (guess > ret){printf("猜大了->%d\n", guess);right = guess;guess = (right + left) / 2;Sleep(1000);}else if (guess < ret){printf("猜小了->%d\n", guess);left = guess;guess = (right + left) / 2;Sleep(1000);}if (guess == ret){printf("猜到了是%d", guess);break;}}system("pause ");return 0;
}
这里使用了二分法的思想,让电脑自己去猜100以内的一个数。
使用了Sleep()函数用来延迟一下打印时间,Sleep()函数的参数的单位是ms,所以1000ms=1s。
谢谢您的阅读
C语言如何生成随机数相关推荐
- C语言:生成随机数(并非固定的随机数)——rand()、srand()
C语言:生成随机数 1.rand() 函数 2.srand() 函数 3.生成一定范围内的随机数 在实际编程中,我们经常需要生成随机数. 1.rand() 函数 在C语言中,我们一般使用 <st ...
- C语言中生成随机数函数
文章目录 前言 一.产生随机数 二.具体分析 1.rand函数 (1)范围 (2)对应头文件 2.srand函数 3.整合 总结 前言 本文主要详细介绍如何在C语言中生成随机数. 一.产生随机数 我们 ...
- C语言生成n个随机坐标,c语言如何生成随机数 怎样用c语言生成n个随机数?
C语言中如何产生很大的随机数?这个可以一个一个的来生成啊,每次生成一个0-9之前的随机数,然后生成几次 组合起来就可以了. C语言 如何连续产生随机数? 如果我想用C在1s的时间内连续产生多个随机数, ...
- C语言如何生成随机数——随机数原理分析
随机数介绍 在C语言中,如果想生成一个随机数,我们在百度后会很容易发现这两行代码: srand((unsigned int)time(NULL)); int ret = rand(); 为什么这两行代 ...
- [R语言] 生成随机数
[R语言]生成随机数 版权声明:本文为博主原创文章,未经允许不得转载.https://blog.csdn.net/qiao_wan/article/details/81980404 一.sample( ...
- C语言详解生成随机数的过程,time函数、时间戳timer、rand函数和srand函数,附猜数字小游戏
第十一篇:随机数详解 一.准备工作(预备知识) 1.1.生成伪随机数(函数rand) 1.2.伪随机数"变成"随机数(函数time) 1.3.生成确定范围随机数 二.练手随机数经典 ...
- java 随机数生成实现_Java中生成随机数的实现方法总结
搜索热词 在实际开发工作中经常需要用到随机数.如有些系统中创建用户后会给用户一个随机的初始化密码.这个密码由于是随机的,为此往往只有用户自己知道.他们获取了这个随机密码之后,需要马上去系统中更改.这就 ...
- R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)、randomSequence函数创建不含重复项的随机序列数据集、创建随机字符串
R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项).randomSequence函数创建不含重复项的随机序列数据集.创建随机字符串 ...
- R语言:逆变换法生成随机数
逆变换法生成随机数: 一.概念解释 1.PDF 2.PMF 3.CDF 二.连续型情况举例 三.离散型情况举例 一.概念解释 1.PDF probability density function 概率 ...
- c语言rand生成1 100随机数,c语言生成1~100随机数
C语言如何srand和rand函数产生10个1-100内的随机数 10个是任意的,也可能是100个,1-100也是任意的...CSS布局HTML小编今天和大家分享解,详细的有追加 需要准备的材料分别有 ...
最新文章
- Elasticsearch之Mapping
- ASP.NET MVC Bundles 之学习笔记
- python学习笔记7-模块、包
- 步步为营 .NET 代码重构学习笔记 十
- 太晚了!iPhone屏下指纹或要等到2021年才安排
- kali linux实体机_Linux基础命令——网络管理类
- java做一个客房管理系统定制_开题报告基于Java的酒店客房管理系统的设计与实现.doc...
- Veeam FAQ系列转载(三)
- LoadRunner去除事物中的程序的执行时间
- 阿里云王伟民:数据库的策略与思考
- laravel框架自带登录注册
- ubuntu安装系分区,挂载磁盘
- 对比LDA,NCA,PCA
- 这些安全管理方法,让你不怕勒索者
- 深度学习(3)——softmax回归
- Linux函数调用与栈
- php 漂浮广告代码,JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
- (附源码)ssm经济信息门户网站 毕业设计 141634
- 中国程序员阶层——一股待觉醒的力量
- 数据结构教程(Java语言描述)前两章总结
热门文章
- stm32上基于LwIP移植LibArtnet
- servlet运行html乱码,使用tomcat运行servlet时中文乱码的解决
- java影院票务管理系统项目开发计划
- intel服务器最新主板芯片组,intel主板芯片组的介绍大全
- BP神经网络算法 原理讲解以及底层代码复现
- 微信小程序-图片上传功能的实现
- 自学软件测试需要学到哪些内容?
- ubuntu18.04截图快捷键
- Windows 7硬盘安装工具 NT6 HDD Installer v3.0(含图文教程)
- python绝对值_如何在Python中获得数字的绝对值?