C/C++ 中的 rand() 和 srand()
在本文中,我们将讨论 C++ STL 中 rand() 和 srand() 函数的工作原理、语法和示例。
什么是 rand()?
rand() 函数是 C++ STL 中的一个内置函数,它在 <cstdlib> 头文件中定义。rand() 用于生成一系列随机数。当我们希望在代码中生成一个随机数时,可以使用此函数。
例如,我们在 C++ 中制作一个“飞行棋”游戏,需要在 1 到 6 之间生成任意随机数,那么我们可以使用 rand() 生成一个随机数。
随机数是使用一种算法生成的,该算法在每次调用此函数时都会产生一系列不相关的数字。
例如,如果我们想要生成 1 到 6 之间的随机数,则可以使用以下函数:
Num = rand() % 6 + 1;
语法
int rand();
参数
该函数不接受任何参数。
返回值
此函数返回一个介于 0 到 RAND_MAX 之间的整数值。
输入
rand() % 100 +1;
输出
57
示例
rand()
#include <stdio.h>
#include <stdlib.h&g;
int main(void){
printf("Randomly generated numbers are: ");
for(int i = 0; i<5; i++)
printf(" %d ", rand());
return 0;
}输出
如果我们第一次运行此代码,输出将为:
Randomly generated numbers are: 1804289383 846930886 1681692777 1714636915 1957747793
如果我们第 N 次运行此代码,输出将为:
Randomly generated numbers are: 1804289383 846930886 1681692777 1714636915 1957747793
什么是 srand()?
srand() 函数是 C++ STL 中的一个内置函数,它在 <cstdlib> 头文件中定义。srand() 用于初始化随机数生成器。此函数提供一个起点来生成伪随机整数序列。该参数作为生成伪随机数的种子传递。只要在 srand 中使用不同的种子值,就可以预期伪数生成器会生成不同的结果序列,与 rand() 相同。
语法
int srand(unsigned int seed);
参数
该函数接受以下参数:
seed - 这是一个整数,用作伪随机数生成器的种子。
返回值
此函数返回一个伪生成的随机数。
输入
srand(time(0)); rand();
输出
1804289383
示例
srand()
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int main(void){
srand(time(0));
printf("Randomly generated numbers are: ");
for(int i = 0; i<5; i++)
printf(" %d ", rand());
return 0;
}输出
如果我们第一次运行此代码,输出将为:
Randomly generated numbers are: 382366186 1045528146 1291469435 515349891 931606430
如果我们第二次运行此代码,输出将为:
Randomly generated numbers are: 1410939666 214525217 875042802 1560673843 782892338
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP