21xrx.com
2024-12-28 13:32:18 Saturday
登录
文章检索 我的文章 写文章
C++生成1-100随机数的方法
2023-06-22 15:21:56 深夜i     --     --
C++ 生成 随机数 1-100 方法

在C++编程中,生成随机数是非常常见的操作。在某些情况下,我们需要在一定范围内生成随机数,例如,生成1-100之间的随机数。那么,我们该如何实现呢?下面让我们来进行探讨。

方法一:利用rand()函数

在C++中,可以使用rand()函数来生成一个伪随机数。但是,rand()函数生成的随机数范围是0到RAND_MAX(通常是32767),因此,我们需要对随机数进行处理才能满足我们的需求。

具体实现如下:


#include <cstdlib>

#include <ctime>

#include <iostream>

using namespace std;

int main() {

  srand(time(nullptr));

  int number = rand() % 100 + 1;

  cout << "生成的随机数为:" << number << endl;

  return 0;

}

在上面的代码中,首先使用srand(time(nullptr))来初始化随机数种子,确保每次生成的随机数都是不同的。然后使用rand() % 100 + 1来生成1-100之间的随机数。

方法二:利用C++库函数random_device和mt19937

另一种更安全的方法是使用C++库函数。

具体实现如下:


#include <iostream>

#include <random>

using namespace std;

int main() {

  random_device rd;

  mt19937 gen(rd());

  uniform_int_distribution<> dis(1, 100);

  int number = dis(gen);

  cout << "生成的随机数为:" << number << endl;

  return 0;

}

在上面的代码中,使用random_device生成随机数种子,mt19937引擎来生成随机数,uniform_int_distribution来生成1-100之间的随机数。

总结

对于需要生成1-100之间的随机数的程序,我们可以使用rand()函数或者C++库函数来实现。无论使用哪种方法,我们都需要设置随机数的种子,确保每次生成的随机数都是不同的。另外,使用C++库函数可以更加安全和方便。

  
  

评论区

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