C++ 生成随机数
生成随机数不是 C++ 语法的一部分,而是为了后面的章节,提前讲的一个 C++ 标准库中的函数的范例
在许多情况下,需要生成随机数
C++ 标准库 <cstdlib>
中有两个和生成随机数有关的函数
函数 | 说明 |
---|---|
rand() | 返回一个伪随机数 |
srand() | 用于播种 |
解释一下什么叫做播种,播种就是类似于我们摇骰子中不断的左右摇晃的次数,摇的次数一样生成的随机数亿也就不一样
C++ 中一般使用标准库 <ctime>
中的函数 time()
返回的时间戳当作随机数播种时的种子
范例
下面的代码用于生成一个随机数
/** * file: main.cpp * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include <iostream> #include <ctime> #include <cstdlib> int main () { int i,j; // 设置种子 srand( (unsigned)time( NULL ) ); /* 生成 10 个随机数 */ for( i = 0; i < 10; i++ ) { // 生成实际的随机数 j = rand(); std::cout << j << std::endl; } return 0; }
编译和运行以上范例,输出结果如下
2042727672 302918715 1618599615 1628372756 529312724 1281686394 2042244548 772988235 1484684942 1487325701
多运行几次,就会发现每次生成的都不一样