21xrx.com
2025-03-27 22:55:12 Thursday
文章检索 我的文章 写文章
如何在C++中生成特定范围的随机整数
2023-07-05 08:38:15 深夜i     --     --
C++ 随机整数 特定范围 生成 算法

在C++中,生成随机整数是一项很常见的任务。有时候,我们需要生成特定范围内的随机整数,例如在1到100之间生成一个随机整数。在本文中,我们将介绍如何在C++中生成特定范围内的随机整数。

使用rand()函数

C++中有一个标准库函数rand(),它可以生成一个随机整数。但是该函数仅可生成[0, RAND_MAX]范围内的整数,其中RAND_MAX是头文件limits.h中定义的一个大常数。如果要在特定范围内生成随机整数,我们需要用到以下代码:

int randNum = rand() % (maxNum - minNum + 1) + minNum;

上述代码将生成在[minNum, maxNum]范围内的随机整数。这是如何工作的:rand()函数输出的结果是一个0到RAND_MAX之间的随机整数,我们可以通过对其进行求余操作,来产生[minNum, maxNum]范围内的随机整数。通过加上minNum,我们可以将随机整数的最小值从0增加到minNum。

需要注意的是,我们需要使用time()函数来设置rand()的随机种子,以确保每次生成的随机数都是不同的。

完整代码如下:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
  int minNum = 1;
  int maxNum = 100;
  srand(time(0)); // 设置随机种子
  for(int i = 0; i < 10; i++)
  {
    int randNum = rand() % (maxNum - minNum + 1) + minNum;
    cout << randNum << endl;
  }
  return 0;
}

在这个例子中,我们生成了10个在1到100范围内的随机整数。当然,你可以根据自己的需要修改minNum和maxNum来生成不同范围内的随机整数。

  
  

评论区