21xrx.com
2024-12-22 21:40:05 Sunday
登录
文章检索 我的文章 写文章
C++生成随机数的代码
2023-07-09 13:47:20 深夜i     --     --
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库可以生成符合特定分布的随机数,可以满足更复杂的需求。在使用随机数时需要注意保证每次生成的随机数唯一。

  
  

评论区

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