【C++ 】产生随机数

 


1. 使用 rand() 和 srand()

  • 库: <stdlib.h> 或 <cstdlib>
  • 特点: 伪随机数生成器,简单易用。
复制代码
1 #include <stdlib.h>
2 #include <time.h>
3 
4 int main() {
5       srand(time(NULL));  // 初始化随机数生成器    int random_number = rand() % 
6       100;  // 生成 0 到 99 之间的随机数
7       printf("Random number: %d\n", random_number);
8       return 0;
9 }
复制代码

1. srand 和 rand 函数的工作原理

    • rand 函数:rand 是 C 标准库中的函数,用于生成伪随机整数。伪随机数是根据一个固定的算法生成的,这个算法依赖于一个初始值,也就是种子(seed)。如果种子相同,那么每次调用 rand 生成的随机数序列都是一样的。
    • srand 函数:srand 函数用于设置 rand 函数的种子。通过改变种子的值,可以让 rand 生成不同的随机数序列。

2. 不使用 srand 函数的情况

如果不调用 srand 函数来设置种子,rand 函数会使用默认的种子值(通常是 1)。这就意味着每次程序运行时,rand 函数都会生成相同的随机数序列

2. 使用random 库

  • 库: <random>
  • 特点: 提供了多种随机数生成器和分布。
复制代码
 1 #include <random>
 2 #include <iostream>
 3 
 4 int main() {
 5    std::random_device rd;  // 真随机数生成器
 6    std::mt19937 gen(rd()); // Mersenne Twister 引擎
 7    std::uniform_int_distribution<> dis(0, 99);  // 生成 0 到 99 之间的整数
 8    int random_number = dis(gen);
 9     std::cout << "Random number: " << random_number << std::endl;
10    return 0;
11 }
复制代码

 

posted @   taohuaxiaochunfeng  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示

目录导航