21xrx.com
2025-03-01 14:37:17 Saturday
文章检索 我的文章 写文章
C++生成随机数的代码
2023-07-09 13:47:20 深夜i     26     0
C++ 生成随机数 代码

随机数是一种常用的工具,可以为计算机程序添加一些不确定的因素。在C++中,生成随机数是相对简单的操作,下面介绍几种常用的生成随机数的方式。

1. srand()函数

srand()函数是C++生成随机数的基础函数,其作用是用当前时间初始化随机数发生器。使用它可以保证每次程序运行时所产生的随机数不同。

示例代码:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
  srand((unsigned)time(NULL)); //初始化随机数发生器
  int num = rand();  //生成随机数
  cout << "生成的随机数为:" << num << endl;
  return 0;
}

2. rand()函数

rand()函数可以生成0到RAND_MAX之间(默认是32767)的随机整数。需要注意的是,每次生成的随机数是与前一次有关的。

示例代码:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
  srand((unsigned)time(NULL));
  int num = rand() % 100//生成0-99之间的随机数
  cout << "生成的随机数为:" << num << endl;
  return 0;
}

3. 随机数分布

如果需要生成符合特定分布的随机数,可以使用C++标准库中的 头文件。

示例代码:生成符合正态分布的随机数

#include <iostream>
#include <random>
using namespace std;
int main()
{
  int mean = 0//均值
  int sigma = 1//标准差
  int num = 10//生成随机数的数量
  normal_distribution<double> normal(mean, sigma); //创建正态分布
  default_random_engine generator; //创建随机数引擎
  for (int i = 0; i < num; i++) {
    double value = normal(generator); //生成随机数
    cout << value << " ";
  }
  cout << endl;
  return 0;
}

总结

C++中生成随机数有多种方法,srand()和rand()函数是最基础的方法,适用于生成需要的范围的随机整数;random库可以生成符合特定分布的随机数,可以满足更复杂的需求。在使用随机数时需要注意保证每次生成的随机数唯一。

  
  

评论区