C++ rand()和srand()函数
时间:2020-02-23 14:41:42 来源:igfitidea点击:
在本文中,我们将重点介绍使用C++ rand()和srand()函数生成随机数。
什么是C++ rand()函数?
C++ rand()函数用于在编译时生成随机数。
一旦系统遇到rand()函数,它将生成一组随机数字作为输出。
语法:
rand()
使用rand()函数,当我们编译并运行程序时,系统会生成相同的随机数集。
使用rand()生成您的第一个随机数
#include<iostream> #include<cstdlib> using namespace std; int main() { int random_num = rand(); cout<<random_num; }
每次您尝试运行上述代码时,它都会产生与以下相同的输出随机数。
输出:
1804289383
使用rand()生成多个随机数
#include<iostream> #include<cstdlib> using namespace std; int main() { for(int rand_num = 0; rand_num<10; rand_num++) cout<<rand()<<endl; return 0; }
在此示例中,我们分别使用for循环和rand()函数生成了10个随机数。
输出:
1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421
什么是C++ srand()函数?
C++ srand()被视为rand()函数的Set种子。
srand()函数与rand()函数一起用于在编译时生成随机数。
C++ srand()函数设置rand()函数执行随机数的起点/起点。
通常,在程序中执行rand()函数之前,将对srand()函数进行设置和调用一次。
语法:
srand(time())
time()函数返回系统的当前时间。
因此,每次执行代码时,传递给种子函数的值都会根据时间而变化。
因此,无论何时执行程序,都会生成新的随机数字集,这与rand()函数不同。
srand()函数的标准值为time(0)。
以时间为种子的随机数
#include<iostream> #include<cstdlib> using namespace std; int main() { srand(time(0)); int rand_num = rand(); cout<<rand_num; }
每当我们执行上述代码时,都会生成一个新的随机数。
输出:
153261608
使用srand()生成多个随机数
#include<iostream> #include<cstdlib> using namespace std; int main() { srand(time(0)); for(int rand_num = 0; rand_num<10; rand_num++) cout<<rand()<<endl; return 0; }
输出:
931265979 1479686946 1788426935 1359145123 582011072 375015354 631128646 1181344226 1858016203 138472912
对生成的随机数执行数学运算
#include<iostream> #include<cstdlib> using namespace std; int main() { srand(time(0)); for(int rand_num = 0; rand_num<10; rand_num++) cout<<rand()%100<<endl; return 0; }
输出:
84 79 50 79 84 74 81 56 77 16
C++ rand()和srand()函数
rand()函数随机生成数字。
在程序中执行rand()函数时,将表示相同的随机数。
srand()函数与rand()函数一起在编译时生成随机数。
srand()函数不返回任何值,而rand()函数返回由它生成的随机数。