参看:C++中随机函数rand()和srand()的用法

rand ()函数:可以用来获得一个随机数

所在头文件: stdlib.h

函数说明 :
rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在32767之间(int)。用unsigned int 双字节是65535,四字节是4294967295的整数范围。0~RAND_MAX每个数字被选中的机率是相同的。用户未设定随机数种子时,系统默认的随机数种子为1。rand()产生的是伪随机数字,每次执行时是相同的;若要不同,用函数srand()初始化它。

srand ()函数:可以用来设置随机数的种子

所在头文件: stdlib.h

函数说明:
srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用time(0)的返回值或NULL来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

time ()函数:可以返回系统时间

所在头文件: time.h

函数说明:

获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。

参看:Linux time()函数

rand()和srand()要一起使用,其中srand()用来初始化随机数种子,rand()用来产生随机数。
因为默认情况下随机数种子为1,而相同的随机数种子产生的随机数是一样的,失去了随机性的意义,所以为使每次得到的随机数不一样,用函数srand()初始化随机数种子。srand()的参数,用time函数值(即当前时间),因为两次调用rand()函数的时间通常是不同的,这样就可以保证随机性了。

/*1--100   rand()%100+1  随机数输入一个数字 与随机数比较猜大了猜小了猜对了*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{        int num=0,num1=0;srand((unsigned int)time(0));   //随机函数num1=rand() % 100+1;   //  取余为 0--99  +1while(1){printf("请输入一个数:");  //放到循环里面scanf("%d",&num);if(num>num1){<span style="white-space:pre">   </span>printf("猜大了\n");}else if (num==num1) {printf("猜对了\n");break;}else{printf("猜小了\n");}}return 0;
}

随机数【15 ~ 18】:

rand()%(18-5+1)+15

C语言再学习 -- 随机数函数相关推荐

  1. C语言再学习 -- 时间函数

    在软件设计中经常会用到关于时间的处理,用来计算语句.函数的执行时间,这时就需要精确到毫秒甚至是微妙的时间.我们首先来介绍一下,时间单位: 时间单位还有:秒(s).毫秒(ms).微秒 (μs).纳秒(n ...

  2. C语言再学习 -- 关键字return和exit ()函数

    终于到了最后一个关键字 return 了.感觉时间过的飞快,转眼间又是一年,如果时间可以 return 就好了. 一.return 介绍 参看:C语言中return 用法 1.含义: return 表 ...

  3. C语言再学习 -- 字符串和字符串函数

    最近身体很不给力,很乏累!白天没精神,晚上睡不着,心情还很烦躁.看书都有点看不下去的样子,到了C语言最难掌握的部分了,数组.指针.字符串.硬着头皮看书总结吧. 一.字符串 1.字符串介绍 字符串是以空 ...

  4. C语言再学习 -- 关键字const

    const 关键字其实我们并不陌生,之前有讲过const修饰数组和指针.现在来详细介绍这个关键字. 参看:[C/C++和指针]著名的<const的思考> 一.const 介绍 1.cons ...

  5. C语言再学习 -- 存储类型关键字

    定义: 是对声明的实现或者实例化.连接器(linker)需要它(定义)来引用内存实体.与上面的声明相应的定义如下:参看:C语言再学习 -- 存储类.链接 C语言中有 5 个作为存储类说明符的关键字,分 ...

  6. C语言再学习--关键字

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/53021879 C语言一共有32个关键字,如下表所示: 关键字 说明 auto ...

  7. C语言再学习 -- 再论内存管理

    之前有总结过内存管理,参看:C语言再学习 -- 内存管理 但现在看来,缺少示例.从新再写一篇文章,着重介绍常见内存错误.跨函数使用存储区.开始吧,再论内存管理!! 发生内存错误是件非常麻烦的事情.编译 ...

  8. C语言再学习 -- 详解C++/C 面试题 2

    (经典)C语言测试:想成为嵌入式程序员应知道的0x10个基本问题. 参看:嵌入式程序员面试问题集锦 1.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define ...

  9. C语言再学习 -- 详解C++/C 面试题 1

    参看:<高质量C++ C编程指南>.林锐 对这篇文章记忆犹新,因为之前找工作面试的时候,遇到过一家公司就是用的这套面试题.现在就结合考查的知识点和我总结完 C 语言再学习后的深入理解,来详 ...

最新文章

  1. webpack4.0--如何安装和配置(一)
  2. 达特茅斯计算机专业师资力量如何,达特茅斯学院计算机科学computer science专业排名第126~150名(2020THE泰晤士高等教育世界大学排名)...
  3. 【项目实战】基于随机森林算法的房屋价格预测模型
  4. rsync 服务与配置文档
  5. 石头剪刀布python代码_python实现石头剪刀布程序
  6. AOJ 6.Hero In Maze
  7. SSH2 后端编程思路总结
  8. 如何表达清楚一个程序:模块化设计
  9. 使用AltSearch格式化Kindle读书笔记
  10. 年底知识「大甩卖」,知识付费这杯羹还有的分吗?
  11. python中sys路径_Python sys.path用法及代码示例
  12. 在LINUX环境下怎样设置无线网络配置
  13. 物联网离线语音控制智能家居系统设计(三):ESP8266(Arduino IDE)连接阿里云物联网平台
  14. 中国历史上最美的十首古诗词,美到了极致
  15. opencv获取设备ID和名称
  16. 计算机视觉最新进展概览(2021年8月1日到2021年8月7日)
  17. 同学录退出了历史舞台了吗?
  18. Java中的枚举类是什么?enum关键字怎么使用?
  19. 免费网盘如何选择@2020年
  20. 极品,git简介,安装,方法

热门文章

  1. 解决Tomcat文件上传超时问题.
  2. flask 文件上传
  3. BZOJ 4259 FFT
  4. HDU 5908 Abelian Period 暴力
  5. 树的Prufer 编码和最小生成树计数
  6. HTML中的meta(转载)
  7. 为什么现在腿会抽筋了?
  8. 风讯dotNETCMS源码分析—数据存取篇
  9. matlab字符处理
  10. 手动制作python的exe可执行程序