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语言如何生成随机数相关推荐

  1. C语言:生成随机数(并非固定的随机数)——rand()、srand()

    C语言:生成随机数 1.rand() 函数 2.srand() 函数 3.生成一定范围内的随机数 在实际编程中,我们经常需要生成随机数. 1.rand() 函数 在C语言中,我们一般使用 <st ...

  2. C语言中生成随机数函数

    文章目录 前言 一.产生随机数 二.具体分析 1.rand函数 (1)范围 (2)对应头文件 2.srand函数 3.整合 总结 前言 本文主要详细介绍如何在C语言中生成随机数. 一.产生随机数 我们 ...

  3. C语言生成n个随机坐标,c语言如何生成随机数 怎样用c语言生成n个随机数?

    C语言中如何产生很大的随机数?这个可以一个一个的来生成啊,每次生成一个0-9之前的随机数,然后生成几次 组合起来就可以了. C语言 如何连续产生随机数? 如果我想用C在1s的时间内连续产生多个随机数, ...

  4. C语言如何生成随机数——随机数原理分析

    随机数介绍 在C语言中,如果想生成一个随机数,我们在百度后会很容易发现这两行代码: srand((unsigned int)time(NULL)); int ret = rand(); 为什么这两行代 ...

  5. [R语言] 生成随机数

    [R语言]生成随机数 版权声明:本文为博主原创文章,未经允许不得转载.https://blog.csdn.net/qiao_wan/article/details/81980404 一.sample( ...

  6. C语言详解生成随机数的过程,time函数、时间戳timer、rand函数和srand函数,附猜数字小游戏

    第十一篇:随机数详解 一.准备工作(预备知识) 1.1.生成伪随机数(函数rand) 1.2.伪随机数"变成"随机数(函数time) 1.3.生成确定范围随机数 二.练手随机数经典 ...

  7. java 随机数生成实现_Java中生成随机数的实现方法总结

    搜索热词 在实际开发工作中经常需要用到随机数.如有些系统中创建用户后会给用户一个随机的初始化密码.这个密码由于是随机的,为此往往只有用户自己知道.他们获取了这个随机密码之后,需要马上去系统中更改.这就 ...

  8. R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)、randomSequence函数创建不含重复项的随机序列数据集、创建随机字符串

    R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项).randomSequence函数创建不含重复项的随机序列数据集.创建随机字符串 ...

  9. R语言:逆变换法生成随机数

    逆变换法生成随机数: 一.概念解释 1.PDF 2.PMF 3.CDF 二.连续型情况举例 三.离散型情况举例 一.概念解释 1.PDF probability density function 概率 ...

  10. c语言rand生成1 100随机数,c语言生成1~100随机数

    C语言如何srand和rand函数产生10个1-100内的随机数 10个是任意的,也可能是100个,1-100也是任意的...CSS布局HTML小编今天和大家分享解,详细的有追加 需要准备的材料分别有 ...

最新文章

  1. Elasticsearch之Mapping
  2. ASP.NET MVC Bundles 之学习笔记
  3. python学习笔记7-模块、包
  4. 步步为营 .NET 代码重构学习笔记 十
  5. 太晚了!iPhone屏下指纹或要等到2021年才安排
  6. kali linux实体机_Linux基础命令——网络管理类
  7. java做一个客房管理系统定制_开题报告基于Java的酒店客房管理系统的设计与实现.doc...
  8. Veeam FAQ系列转载(三)
  9. LoadRunner去除事物中的程序的执行时间
  10. 阿里云王伟民:数据库的策略与思考
  11. laravel框架自带登录注册
  12. ubuntu安装系分区,挂载磁盘
  13. 对比LDA,NCA,PCA
  14. 这些安全管理方法,让你不怕勒索者
  15. 深度学习(3)——softmax回归
  16. Linux函数调用与栈
  17. php 漂浮广告代码,JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
  18. (附源码)ssm经济信息门户网站 毕业设计 141634
  19. 中国程序员阶层——一股待觉醒的力量
  20. 数据结构教程(Java语言描述)前两章总结

热门文章

  1. stm32上基于LwIP移植LibArtnet
  2. servlet运行html乱码,使用tomcat运行servlet时中文乱码的解决
  3. java影院票务管理系统项目开发计划
  4. intel服务器最新主板芯片组,intel主板芯片组的介绍大全
  5. BP神经网络算法 原理讲解以及底层代码复现
  6. 微信小程序-图片上传功能的实现
  7. 自学软件测试需要学到哪些内容?
  8. ubuntu18.04截图快捷键
  9. Windows 7硬盘安装工具 NT6 HDD Installer v3.0(含图文教程)
  10. python绝对值_如何在Python中获得数字的绝对值?