美文网首页
C++中rand()函数的用法

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

作者: 读书悟到 | 来源:发表于2020-10-24 21:26 被阅读0次

1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。

2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100;

    这样,num的值就是一个0~99中的一个随机数了。

3、如果要产生1~100,则是这样:int num = rand() % 100 + 1; 

4、总结来说,可以表示为:int num = rand() % n +a;

    其中的a是起始值,n-1+a是终止值,n是整数的范围。

5、一般性:rand() % (b-a+1)+ a ;    就表示  a~b 之间的一个随机整数。

6、若要产生0~1之间的小数,则可以先取得0~10的整数,然后均除以10即可得到“随机到十分位”的10个随机小数。

    若要得到“随机到百分位”的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依 此类推。

限制随机数的范围

有时程序需要一个特定范围内的随机数。要将随机数的范围限制在 1 和某个最大值 max 之间的整数,可以使用以下公式:

number = rand() % max + 1;

例如,要生成 1〜6 的随机数来代表骰子的点数,则可以使用以下语句:

dice = rand() % 6 + 1;

这里简单介绍一下其工作原理。求余数运算符(%)可以获得整除之后的余数。当使用通过 rand 函数返回的正整数除以6时,余数将是 0〜5 的数字。因为目标是 1〜6 的数字,所以只需要给余数加 1 即可。

这个想法可以扩展到任意范围内的随机数,其通用公式如下:

number = (rand()%(maxValue - minValue +1)) + minValue;

在上述公式中,minValue 是范围内的最小值,而 maxValue 则是范围内的最大值。例如,要获得 10〜18 的随机数,可以使用以下代码给变量 number 赋值:

const int MIN_VALUE = 10;

const int MAX_VALUE = 18;

number = rand() % (MAX_VALUE - MIN_VALUE + 1) + MIN_VALUE;

在上述代码中,(MAX_VALUE - MIN_VALUE + 1)的值为 9,这是目标范围内整数的个数。余数运算符(%)返回的值是 0〜8 的数字,再用它加上 MIN_VALUE(也就是 10),即可获得 10〜18 的随机数。

相关文章

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

    1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 2、...

  • rand()函数用法

    rand函数产生由在(0, 1)之间均匀分布的随机数组成的数组。 Y = rand(n) 返回一个n x n的随机...

  • c++ 6、随机数

    C++ 可以使用内置库CSTDLIB()中的srand()和rand()函数来产生随机数。r...

  • c++ 11中的随机数 ——random

    背景 C 和 C++ 都依赖一个简单的 C 库函数 rand 来生成随机数rand 函数有一些问题:即使不是大多数...

  • MATLAB|生成随机数

    rand函数:产生由在(0, 1)之间均匀分布的随机数 用法: Y = rand(n)返回一个n x n的随机矩阵...

  • iOS中常用函数

    一些常用的函数用法: 1. rand() / random() / arc4random() :随机数 ran...

  • 21随机函数:RAND 2018-10-11

    1、基本用法 ①=RAND()随机0-1 ② =RAND()*100随机0-100 ③ =ROUND(RAND()...

  • C语言的知识点

    判断字符串回文数 rand函数,time函数, 在stdlib.h中声明,rand函数返回一个0到randmax之...

  • C++中的const成员函数(函数声明后加const)用法详解

    转载请注明出处,尊重智慧!文章来源: C++中的const成员函数(函数声明后加const,或称常量成员函数)用法...

  • 多线程互斥锁

    c++之多线程中“锁”的基本用法unique_lock比lock_guard多的功能函数

网友评论

      本文标题:C++中rand()函数的用法

      本文链接:https://www.haomeiwen.com/subject/ibvwmktx.html