21xrx.com
2024-09-20 00:04:55 Friday
登录
文章检索 我的文章 写文章
如何在c++中生成随机数?
2023-07-05 15:11:40 深夜i     --     --
C++ 生成 随机数

在C++编程语言中,生成随机数是一个非常常见的需求。随机数通常用于模拟实验、加密、抽样以及游戏开发等领域。本文将介绍在C++中生成随机数的方法。

1. 使用rand()函数

rand()函数是C++自带的生成随机数的函数。可以通过包含 头文件引入其定义。rand()函数在程序每次运行时都会生成同样的随机数序列,为了避免这种情况,可以使用srand()函数来设置种子,从而使得rand()函数每次生成的随机数序列都不同。下面是使用rand()函数生成10个0~99之间的随机数:


#include <iostream>

#include <cstdlib>

int main()

{

  srand( time(NULL) ); // 设置种子

  for(int i=0;i<10;i++)

  {

    std::cout << rand() % 100 << std::endl;

  }

  return 0;

}

在上面的例子中,srand()函数使用了当前时间作为种子,这样每次运行程序时都会生成不同的随机数序列。

2. 使用random库函数

C++11标准库中引入了random库函数,它提供了更多的随机数生成选项,例如生成不同分布的随机数。使用random库函数生成随机数也需要包含一些头文件,例如 。下面是使用random库函数生成随机数的例子:


#include <iostream>

#include <random>

#include <ctime>

int main()

{

  std::default_random_engine e(time(NULL)); // 设置种子

  std::uniform_int_distribution<int> u(0,99); // 定义随机数分布范围

  for(int i=0;i<10;i++)

  {

    std::cout << u(e) << std::endl;

  }

  return 0;

}

在上面的例子中,default_random_engine是一个随机数生成器,uniform_int_distribution定义了一个生成介于0和99之间的均匀分布随机数的函数。

在编写程序时,需要根据实际需要选择使用哪种方法生成随机数。如果只需要生成一些简单的随机数,可以使用rand()函数。如果需要生成更复杂的随机数,例如指定分布的随机数,可以使用random库函数。总之,在C++中生成随机数是非常简单的,只需要选择合适的方法即可。

  
  

评论区

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