如何用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个回答  2013-09-13
#include <iostream>
#include <ctime>
#include <vector>
#include <algorithm>

using namespace std;

vector<double> Rnd( int N )
{
srand( (unsigned)time(NULL) ); //以当前系统时间来实现随机数种子
vector<double> v(N);
for(int i=0;i<N;i++)
{
v[i] = (double)(rand()%11)/10;
} //如果需要更精细,可以%101然后除以100,也可以%1001后再除以1000

return v;
}

int main()
{
vector<double> v = Rnd( 100 ); //这个100,可以手动输入哦。呵呵。
copy( v.begin(),v.end(),ostream_iterator<double>( cout," " ) );

return 0;
}
第2个回答  2019-11-24
rand()这个函数就是产生随机数的,
想要一个范围的随机数,可以用取余数的方式
如取0~99之间的数,可以rand()%100
第3个回答  2006-12-08
正在开发审定中的 C++ 新版标准包括一个随机数生成器库,可以生成好几种常用随机分布类型的随机数。
不过传统的随机数函数还是标准 C 库中的 rand()。

// 设定随机数发生公式的种子值
srand( (unsigned)time( NULL ) );

// 获得随机数
int i = rand() % 4 + 1;

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

怎样在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函数产生随机数前,应该先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。2、例程:include#include<stdlib.h>#include<stdio.h>void main(){ srand((unsigned)time(NULL)); \/\/用当前系统时间设置种子 int a[100]; printf("随即初始化数组...

相似回答