C语言指定范围内产生随机数

在实际开发中,我们经常需要一定范围内的随机数,太大或太小都不符合要求,那么,如何生成指定范围的随机数呢?我们可以采用取模的方法:
int r = rand() % 10;    //产生0~9的随机数,注意10会被整除
如果要规定上下限:
int r = rand() % 51 + 13;    //产生13~63的随机数
分析:取模即取余,rand()%51+13我们可以看成两部分:rand()%51是产生 0~50 的随机数,后面+13保证 a 最小只能是 13,最大就是 50+13=63。
最后给出产生 13~63 范围内随机数的完整代码:
#include <iostream>
int main(void)
{
int r = 0;
srand(time(NULL));
r = rand() % 51 + 13;
printf("%d",r);
getchar();
return(0);
}

以下C程序用于批量生成指定范围内的随机数:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int Random(int min,int max);  // 生成指定范围内的随机数
int main(void)
{
srand(time(NULL));
for (int i=1;i<=10;i++)
{
printf("%d\n",Random(1,100));
}
getchar();
return(0);
}
int Random(int min,int max)
{
int r = rand() % (max-min+1)+min;
return(r);
}

张赐荣 | C语言指定范围内产生随机数相关推荐

  1. 张赐荣 | 详解SAPI5语音转换扩展XMLTTS标记

    SAPI5语音转换扩展XMLTTS标记语言详解 [作者:张赐荣] SAPI 文本语音转换(TTS)扩展标记语言(XML)标签分成几个范畴. 声音状态控制 直接项插入 声音上下文控制 声音选择 声音状态 ...

  2. 张赐荣 | Windows 消息处理机制 入门

    张赐荣 | Windows 消息处理机制 入门 [文 / 张赐荣] 事件驱动和消息循环 消息概述 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了.例如,单击鼠标.改变窗口尺寸.按 ...

  3. 张赐荣 | 工信部信息技术互联网内容无障碍可访问性技术要求与测试方法

    [整理人:张赐荣] <GB_T37668-2019_信息技术互联网内容无障碍可访问性技术要求与测试方法> 前言 本标准按照GB/T1.1-2009给出的规则起草. 请注意本文件的某些内容可 ...

  4. 张赐荣: C#ADO.NET 操作Mysql 详细教程

    [作者:张赐荣] ADO.NET是.NET框架中用于访问数据库的一组组件.它可以用于访问不同类型的数据库,例如MySQL.Oracle.SQL Server等. 基本使用 下面是使用ADO.NET连接 ...

  5. 张赐荣:计算机网络快速入门教程

    计算机网络协议快速入门 [编辑 / 张赐荣] 我们每天都使用互联网.你有没有想过,它是如何工作的? 全世界几十亿台电脑,连接在一起,两两通信.上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了, ...

  6. 张赐荣 | 安装版软件和绿色版软件究竟有什么区别?

    安装版软件和绿色版软件究竟有什么区别? [作者:张赐荣] 众所周知,大部分软件都需要先安装才能使用,例如 QQ.360.迅雷等,要先从网上下载一个安装包,然后安装到电脑的 C 盘或者 D 盘等.大部分 ...

  7. 张赐荣 | PHP 获取喜马拉雅音频直链地址

    [作者:张赐荣] 获取喜马拉雅音频直链的方法 对以下地址发起Request Get请求,返回Json格式结果,其中的data.src就是音频的真实路径. "https://www.ximal ...

  8. 张赐荣 | 浅谈 UIAutomation 自动化技术在读屏软件中的应用

    读屏软件工作原理 [文 / 张赐荣] Windows UIAutomation 是 Windows 操作系统中的软件自动化技术,能让开发人员通过编程方式访问和操作 Windows 系统中的用户界面元素 ...

  9. C C++编程产生指定范围内的随机数

    C/C++编程产生指定范围内的随机数,直接上个小程序: #include <stdlib.h> // 对应于C++中cstdlib #include <time.h> // c ...

最新文章

  1. linux中使用yum安装主程序包,linux使用yum对程序包管理相关知识
  2. flutter中的生命周期函数
  3. 将STM32的标准库编译成lib
  4. Intel Realsense D435 python wrapper pyrealsense.pipeline类
  5. 【渝粤题库】陕西师范大学201721 数学教育学 作业(专升本)
  6. [css]你有使用过preload、preconnect、prefetch这些属性吗?说说它们都有什么作用?
  7. AIX 6.1环境 yum的安装方法
  8. 构建安全驱动型网络,Fortinet荣誉2020 Gartner广域网边缘基础设施领导者的源力
  9. Word2016怎么和mathtype兼容
  10. 深度学习笔记_ RestNet-50
  11. 高等代数-三-消元法
  12. Linux进程之如何查看进程详情?
  13. Spring核心机制——IoC和AOP
  14. 电源与地之间的电容作用
  15. 网上打印文件怎么发给商家?怎么给商家发送打印资料
  16. python 同时输出国际和国内BMI值
  17. CSS让背景图片填满DIV
  18. 安全加解密引擎基础(ECC、ECDH)
  19. (一)(1)OpenGL入门---Open GL 在 Mac 上的配置
  20. STM32等精度频率计

热门文章

  1. 「脱单实验No.1」长沙 | 91年,游戏开发、Web前端,爱好厨艺与文学
  2. 如何得到IPhone人像模式中图像的深度图
  3. eclipse历史版本、名称、年份,下载地址
  4. groovy-map取值,key为变量
  5. 【无标题】PCB印刷电路板是如何进行切割?
  6. 打开Word时出现“The setup controller has encountered a problem during install. Please ...”什么意思...
  7. 使用shader造型函数绘制图形
  8. 小白自学ZBrush教程:100集全网最新ZBrush学习教程,一学就会
  9. 关于fi dd ler 手机抓包 网卡地址地址_利用无线路由器如何抓取手机网络数据包【详细介绍】...
  10. 数据结构系列之B树、B+树、B*树