博客
关于我
C++ 生成 -10 到 30 的随机数(可扩展)
阅读量:692 次
发布时间:2019-03-17

本文共 1239 字,大约阅读时间需要 4 分钟。

C++ 生成 -10 到 30 的随机数

在这个示例中,我们将学习如何使用C++编写一个简单的程序,来生成-10到30之间的随机数。这个程序将利用标准库中的随机数功能,通过向量来存储生成的随机数,并在终端打印出来。

### 代码解析

#include 
#include
#include
#include
using namespace std; int main() { vector
nums; srand((unsigned)time(NULL)); // 初始化随机数生成器 for (int i = 0; i < 20; i++) { nums.push_back(rand() % 41 - 10); // 生命 -10 到 30 的随机数 } for (int num : nums) { cout << num << " "; } cout << endl; return 0; }

### 代码功能解释

  • 包含必要的库:我们需要包括 std::vector(向量)、 std::cstdlib(基本操作数)、 std::ctime(获取当前时间)和 std::iostream(标准输入输出流)。using namespace std; 命令用于简化代码书写。

  • 初始化随机数生成器srand((unsigned)time(NULL)); 这行代码通过将当前时间转换成一个不定性的数值,来初始化随机数生成器。这确保每次运行程序生成的随机数都不一样。

  • 生成随机数并存储:使用了一个循环,从0到19,共计20次。每次循环中,调用 rand() % 41 生成0到40之间的随机数,再减去10,得到-10到30之间的随机数。所有生成的随机数被存储在 vector<int> nums; 中。

  • 输出结果:使用范围循环遍历向量中的每一个数,将其打印出来,每个数字后面都跟一个空格,最后一行还会添加一个换行字符以确保输出整洁。

  • ### 两次运行结果对比

    第一次运行结果如下:

    -10, 3, 15, -3, 21, 8, -4, -6, 29, 1, 28, -7, 10, 39-10, 13, 22, -14, 17, 7, 14

    第二次运行结果如下:

    -18, 12, 32-10, 18, 13, -2, 5, 25, 2, 34-10, 9, 1, 31-10, -19, 24, -5, 11, 41-10, 20, 19

    这个程序展示了如何在C++中通过代码生成目标范围内的随机数,并将结果保存和输出。通过调整代码中的参数,可以灵活地改变随机数的范围和数量。

    转载地址:http://ikihz.baihongyu.com/

    你可能感兴趣的文章
    MySQL - 解读MySQL事务与锁机制
    查看>>
    mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
    查看>>
    mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
    查看>>
    mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
    查看>>
    MySQL Binlog 日志监听与 Spring 集成实战
    查看>>
    multi-angle cosine and sines
    查看>>
    Mysql Can't connect to MySQL server
    查看>>
    mysql case when 乱码_Mysql CASE WHEN 用法
    查看>>
    Multicast1
    查看>>
    MySQL Cluster 7.0.36 发布
    查看>>
    Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
    查看>>
    multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
    查看>>
    mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
    查看>>
    Multiple websites on single instance of IIS
    查看>>
    mysql CONCAT()函数拼接有NULL
    查看>>
    multiprocessing.Manager 嵌套共享对象不适用于队列
    查看>>
    multiprocessing.pool.map 和带有两个参数的函数
    查看>>
    MYSQL CONCAT函数
    查看>>
    multiprocessing.Pool:map_async 和 imap 有什么区别?
    查看>>
    MySQL Connector/Net 句柄泄露
    查看>>