如何用C++产生随机数

如题所述

//需要使用rand()和srand()函数//rand()为随机数函数, 产生[0,int型最大值)之间的整数数//srand(seed);//为初始化随机数种子函数//具体例子如下#include<stdio.h> //标准(std)输入输出(io)库, 内含printf()函数
#include<stdlib.h>//标准(std)操作库(lib), 内含srand(),rand()函数
#include<time.h>//时间库(time), 内含time()系统时间函数int GetRand()//产生随机数的函数
{
srand(time(NULL)) ;//通过系统时间初始化随机数种子//如果不设置随机数种子,则每次rand()函数的起始值都一样.
int n = rand()%181+20 ;// rand()为随机数函数, 产生[0,int型最大值)之间的整数数, 此值依系统不同而不同, 一般为2147483648, 可认为无穷// 通过rand()%181+20转化为[20,200]之间的整数 (注:rand()%181产生[0,180]之间的整数)
return n ; //返回这个整数
}
int main() //主函数
{
printf("%d",GetRand()) ; //输出一个随机数
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-12-23
您好,请问您是想知道如何用C++产生随机数吗?

C++如何获得一个随机的数?
一、C++获取随机数的方法 rand()方法是C++获取随机数的方法,可以通过srand()方法获取系统的时间,用系统时间作为判断依据,生成随机数,随机数的大小通过rand()方法获取的值,进行取余后获得。也就是说,srand方法获取到了系统的时间,他是毫秒级的,然后通过这个毫秒级的数据,对100取余,即可获得0-1...

C++产生随机数的
要生成随机数,C++程序通常会通过数组和指针来实现。首先,你需要定义一个整数类型的数组,用于存储随机数序列,同时定义一个指向数组首元素的指针。在初始化步骤中,将指针定位到数组的第一个元素,这是随机数生成过程的起点。然后,设置一个循环条件,通常是直到指针达到数组的尾部。在每次循环中,指针向...

C++产生任意两数之间随机数的方法例举
要产生随机数,首先要使用rand()函数。产生随机数,还要使用随机数种子,一般用系统时间值作为随机数种子。如果要产生[i,j]之间的随机数,使用以下方法。产生[i,j)之间的随机数,可以使用以下方法。要产生(i,j]之间的随机数,有如下的方法。以上产生随机数的方法,可用通用公式表示。通用公式中,n...

c++如何产生随机数
随机数 可用系统的函数 int rand (void); 产生,随机数数值范围将 在 0 到 RAND_MAX 之间。为使每次产生的随机数更随机,可用当前时间,用 srand() 产生一个随机种子。c++ 程序例子如下:include<iostream> using namespace std;include <stdio.h> include int main(){ int a[10],i;\/\/ ini...

如何优雅的用C++生成随机数
硬件生成随机数的random_device提供了一种生成真正不确定性随机数的途径,通过硬件实现或兼容伪随机生成。返回值通常为unsigned int,可用于引擎的种子。预定义算法实践则简化了随机数生成的配置,避免了参数选择的复杂性。只需选择合适的引擎,定义分布律,即可开始生成随机数。以下是C++中生成随机数的简单...

c++如何随机生成0和1
1)C++中的rand()函数可以得到一个0-RNDMAX之间的随机数,Randmax是一个宏,你可以把它理解成65535;2)使用rand()函数必须添加头文件,代码如下:include <cstdlib> 3) 得到0或1的随机数代码如下:int num=rand()%2;因为对2求余的结果不是0就是1,因此上面这句代码就得到了一个0或1的随机...

怎样在C++中产生10个30~100的随机数
C++中没有自带的random函数,要实现随机数的生成就需要使用rand()和srand()。不过,由于rand()的内部实现是用线性同余法做的,所以生成的并不是真正的随机数,而是在一定范围内可看为随机的伪随机数。代码如下:include <iostream> include <cstdlib> include <ctime> define random(a,b) (rand()%(...

C++库的随机数生成
C++中使用random头文件和default_random_engine,这为随机数生成提供了更灵活的途径。default_random_engine是一个可调用对象,可以与rand()类似使用。但其支持多线程,并需在构造时或使用成员函数seed初始化种子,否则每次生成相同随机数。在C++中,除了引擎,还需结合随机数分布对象以适应特定需求。例如,...

c++如何产生随机数,并规定取值范围?
用rand()函数产生随机数,想规定范围就用取余,比如限定一个随机数为【3 ,102】的数,那么(rand()%(102-3+1))+3,这样得到数就会在这个范围里,102-3+1==100,那么rand()%100的范围为 0-99,这个范围再加3为3 - 102

c++如何产生0到1之间的随机数?
C++中用来产生随机数的函数为rand(), 其返回值为整数。而0到1之间的随机数,明显是浮点数。这样无法直接产生。于是,必须经过转换。转换思路为,生成一个0-N的随机数,然后对其除以N+1,则可以得到0-1直接的浮点型随机数。N的确定,可以与要求的精度有关,比如需要三位小数,可以采用N=999,如需要...

相似回答