C++ 中rand()总结

【C++】产生随机数 rand 和 srand 函数用法详解 在上述代码中,(MAX_VALUE - MIN_VALUE + 1)的值为 9,这是目标范围内整数的个数。余数运算符(%)返回的值是 0〜8 的数字,再用它加上 MIN_VALUE(也就是 10),即可获得 10〜18 的随机数。当使用通过 rand 函数返回的正整数除以6时,余数将是 0〜5 的数字。在 C++ 中,这是通过调用。在上述公式中,minValue 是范围内的最小值,而 maxValue 则是范围内的最大值。这意味着它们具有随机数的表现和属性,但实际上并不是随机的,它们实际上是用算法生成的。 阅读详情

一、C++产生随机数方法

C++中不能使用random()函数,random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数。 可改用C++下的rand函数来实现。
1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。 随机数生成器总是以相同的种子开始,所以形成的伪随机数列也相同,失去了随机意义。(但这样便于程序调试) 
2、C++中另一函数srand(),可以指定不同的数(无符号整数变元)为种子。但是如果种子相同,伪随机数列也相同。一个办法是让用户输入种子,但是仍然不理想。 
3、 比较理想的是用变化的数,比如时间来作为随机数生成器的种子。 time的值每时每刻都不同。所以种子不同,所以,产生的随机数也不同。
如:srand((unsigned long) time(0));

二、rand函数使用

这样,如果你要产生0~10的10个整数,可以表达为: 
int N = rand() % 11; 
     这样,N的值就是一个0~10的随机数,如果要产生1~10,则是这样: 
int N = 1 + rand() % 10; 
总结来说,可以表示为: 
a + rand() % n
 其中的a是起始值,n是整数的范围。 
a + rand() % (b-a+1) 就表示 a~b之间的一个随机数
若要0~1的小数,则可以先取得0~10的整数,然后均除以10即可得到随机到十分位的10个随机小数,若要得到随机到百分位的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依此类推。 
    // 产生0.0-0.9之间的小数
	a =  rand()%10/10.0;
	cout << a << endl;
	// 产生0.00-0.99之间的小数
	b = rand()%100/100.0;
	cout << b <<endl;
其一个运行结果如下:

三、例题
选择加法还是减法运算,之后输入进行多少以内的加法或减法运算,具体数值由计算机随机产生。
#include <iostream>
#include <ctime>
using namespace std;

int main()
{


	int flag;
	int max;
	int m = 0;
	int n = 0;

	cout << "1 加法 2 减法  "<<endl;	
	cin >> flag;

	cout <<"请输入数字范围:";
	cin >> max;

	srand((unsigned long)time(0));

	m =  rand()%max;
	n =  rand()%max;
    // 当为减时,被减数小于减数,重新产生随机数
	while(m < n && flag == 2)
	{
		m = rand()%max;
		n = rand()%max;
	}

	if(1 == flag)
		cout <<m <<'+'<<n<<'='<<(m+n)<<endl;
	if(2 == flag)
		cout <<m<<'-'<<n<<'='<< (m-n)<<endl;

	return 0;

}




C++中用rand()和srand()产生随机数介绍 C++中提供两个用来帮助产生伪随机数的函数——rand()函数和srand()函数。 二者均包含在标准库<cstdlib>中。RAND_MAXRAND_MAX是一个在标准库<cstdlib>中定义的宏,表示伪随机生成函数rand()所能返回的最大数值。 ISO IEC 9899 2011(C++11)标准中未规定 RAND_MAX 的具体数值。但该标准规定了RAND_MAX 的值应至少为3276 阅读详情

相关推荐

C++中rand随机数的用法

一、C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。 可改用C++下的rand函数来实现。 1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认

笔者从事电信媒体开发多年,愿意将多年的开发经验分享给同行 2万+

【c++】rand()随机函数的应用(一)——rand()函数详解和实例

c++语言中可以用rand()函数生成随机数,今天来探讨一下rand()函数的基本用法和实际应用。 本系列文章共分两讲,今天主要介绍一下伪随机数生成的原理,以及在伪随机数生成的基础上,生成随机数的技巧,下一讲主要介绍无重复随机数生成的方法和舒尔特方格数字生成的实例。本文采用循序渐进的方式逐步介绍,并且贴上了实际测试的代码和结果。有不详和不实之处,请各位大神批评指正。

m0_72963799的博客 2万+

告别瞎猜!用通达信L2资金流向函数,手把手教你识别主力动向(附实战公式)

本文详细解析通达信L2资金流向函数,手把手教你构建主力动向监控系统。通过分档数据解析、委买委卖攻防解读及实战公式应用,帮助投资者精准识别主力建仓与虚假拉升信号,提升股票交易决策效率。

weixin_26908317的博客 2093

C++的rand()函数详细用法

函数接受一个无符号整数作为参数,用于初始化随机数种子。返回当前时间,因此每次运行程序时,随机数种子都不同。这样就可以生成不同的随机数序列。函数的返回值对范围大小取模。函数生成一个随机整数,并对100取模,得到一个0到99之间的随机整数。如果要生成一个指定范围内的随机整数,可以使用取模运算符(%)将。函数是C++标准库中的一个伪随机数生成器,它返回一个在0到。函数生成一个随机整数,并将其转换为浮点数。函数生成的随机数序列是固定的,因此在使用。得到一个0到1之间的随机浮点数。得到一个在指定范围内的随机浮点数。

libeinang的博客 9530

Pico设备手势追踪实战:5步搞定MRTK3手部模型与UI交互配置

本文详细介绍了在Pico设备上使用MRTK3实现手势追踪的5个关键步骤,包括环境配置、手部模型冲突解决、射线交互优化、UI交互配置及性能优化。通过实战案例和代码示例,帮助开发者快速解决MR开发中的常见问题,提升混合现实应用的交互体验。

onion的博客 499

USB之ch376s数据手册

         最近师兄交给我一个项目,虽说刚学嵌入式起步,但上手一个项目怎说都是最好的快速学习方式。因为刚了解ch376s管理U盘的数据,所以先是看了ch376s的数据手册。那我就把数据手册直接放上来吧。。。。      1、概述 CH376 是文件管理控制芯片,用于单片机系统读写 U 盘或者 SD 卡中的文件。 CH376 支持 USB 设备方式和 USB 主机方式,并且内置了 USB 通...

iBGG的博客 6005

C++ 中的 rand() 函数

在此示例中,我们使用 生成一个介于 1 和 100 之间的随机数,并将其输出到控制台。如果你想要更复杂的随机数生成方式,你还可以探索 C++ 中的 库。

宁子希的博客 5527

关于StartAI本地部署相关问题解答

很多小伙伴们都有接入自己本地SD的需求,对此小编整理了一些相关问题~

HDJ9387的博客 940

c++中rand(),srand()使用

函数名: rand 函数原型: void rand(void); 属于<stdio.h> 头文件 作用: rand(void)用于产生一个伪随机0~RAND_MAX 的整数#defineRAND_MAX0x7fff 2 函数名: srand 原型:voidsrand(unsignedseed); 属于<stdio.h> 头文件 srand(seed)用于给rand()函数设定种子,参数seed是rand()的种子,用来初始化rand()的起...

weixin_42310289的博客 1万+

告别手动画图!用SUMO的netedit快速搭建高速公路交织区路网(附完整XML文件)

本文详细介绍了如何使用SUMO的netedit工具高效构建高速公路交织区路网,避免手动绘图的低效与错误。通过实战案例和XML文件示例,帮助交通工程专业学生快速掌握复杂道路结构建模技巧,特别解析了spreadType参数设置和速度单位换算等关键操作。

weixin_29085865的博客 261

Python编程基础05:运算符与表达式

文章目录一、算术运算符1、分类说明表2、注意事项3、案例演示任务1、计算成绩差与平均成绩课堂练习:编程处理带余除法。任务2、打印购物小票 运算符就是专门用于告诉程序执行特定运算或逻辑操作的符号。表达式是指由常量、变量和运算符组成的一个算式。编写程序对数据进行处理,其实处理就是对数据实施各种各样的运算,搞懂运算符与表达式是我们编写程序的基础性工作,本次讲课笔记通过案例讲解各种运算符的用法以及正确书写Python表达式的注意事项。 一、算术运算符 Python中的算术运算符就是用来处理四则运算的符号,也是

howard2005的专栏 3120

c++中的随机数rand()

总结:1, RANK_MAX = 32767 2, 随机范围:num = rank() % x C++中rand() 函数的用法 1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100; 这样,num的值就是一个0~99中的一个随机数了。 3、如果要产生1~100,则是这样:int num = rand() % 100 + 1; 4、

fang 0 jun的博客 3万+

你的小程序地图功能还只是“摆设”吗?支付宝地图API的深度玩法都在这里了!

🏆本文收录于《滚雪球学支付宝小程序开发》专栏,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1821

C++中rand()函数的用法

C++中rand()函数的用法

风暴计划 23万+

SAP FICO 金税系统-金税->SAP接口功能开发说明书(接口字段)

SAP FICO 金税系统-金税->SAP接口功能开发说明书(接口字段)

我好像病了的博客 1259

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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

一、rand()   函数名:   rand      功   能:   随机数发生器    用   法:   int rand(void);     所在头文件: stdlib.h   函数说明 :                 rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定                 的范围里可看成

peixuan的专栏 3万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

随机函数rand()[c++]

  一、C++中不能使用random()函数     random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数。 可改用C++下的rand函数来实现。     1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX

清箫的专栏 5万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C++中rand() 函数的用法

C++中rand() 函数的用法 1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100;    若要产生每次不同的随机数,则可以使用srand( seed )函数进行产生随机化种子,可以包含time.h头文件,然后使用sr

hanhaipingsea123的博客 1万+

C++ rand()函数和srand()函数

随机数和伪随机的区别: #include<iostream> using namespace std; #include<string> #include<string> #include <stdlib.h> #include <time.h> #define MIN 0 //随机数产生的范围 #define MAX 99 //函数声明 void suiji(); void weisuij.

ywl470812087的博客 13万+

C++中生成随机数方法:rand()函数

在C++标准库中rand()函数是生成0到RAND_MAX之间的随机整数,RAND_MAXs是定义一个宏定义,在库中定义为一个大于32767的整数。但是rand()函数生成的随机数是一个伪随机数(每次代码运行都是相同的数字除非重启),需要设置随机数种子。

Appppiiiiggg的博客 2万+

C++ rand() 随机函数的用法

C++中rand() 函数的用法 1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100;   若要产生每次不同的随机数,则可以使用srand( seed )函数进行产生随机化种子,可以包含time.h头文件,然后使用sra...

qq_27278957的博客 2万+

C++中rand()函数的用法

C++中rand()函数的用法   2011-12-30 11:03:59|  分类: C / C++|举报|字号 订阅 一、C++中不能使用random()函数      random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数。 可改用C++下的rand函数来实现。

meimeizhuzhuhua的博客 1288

C++中 rand() 通用公式及总结

一、函数简介 函数名: rand() 功 能: 随机数产生器 用 法: int rand(void); 所在头文件: stdlib.h 注意:C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数。 可改用C++下的rand函数来实现。 rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX必须至少为32767(i

leiyulu的博客 7105

C++ rand()随机数函数

rand()随机函数

resco的博客 1326

C++ rand()的使用

被9.8小米笔试恶心到了,题都出不对,都不如直接rand()输出。。。 我们知道rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系列数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统。 rand和srand关于#include <> 和 #include ""randsrandrand()和srand(

不算太晚 1844
上一篇: 字符串输入方式总结(cin cin.get()cin.getline() getline())
下一篇: 小球称重
LilyWu_coding
博客等级 码龄15年 3粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值