21xrx.com
2024-09-20 00:08:26 Friday
登录
文章检索 我的文章 写文章
如何在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来生成不同范围内的随机整数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复