有问题就有答案
Q1:c++中-rand()%100+25范围是什么?为什么?
25到124,数字是100的余数,等于0到99之间的数字,加上25等于25到124之间的随机数。
Q2:c++中rand()函数的范围
Rand功能范围:在部分平台(如Windows)上,RAND _ MAX仅为32768。如果要求的范围大于32768,指定min和max参数可以生成一个大于RAND_MAX的数字,或者考虑用mt_rand()替换它。rand函数不是真正的随机数生成器,srand()为rand()设置随机数种子。如果您在第一次调用rand()之前没有调用srand(),系统会自动为您调用srand()。使用与种子相同的数字调用rand()将导致生成相同的随机数序列。语言srand((无符号)time(NULL))使用系统定时器/计数器的值作为随机种子。每个种子对应于一组根据算法预先编程的随机数。因此,在同一平台环境下,不同时间生成的随机数会有所不同。相应地,如果将srand(无符号)时间(NULL)改为srand(TP)(TP为任意常数),则无论何时多次得到的“随机数”都将是一组固定序列,因此srand生成的随机数是伪随机数。在库中,系统提供了两个生成随机数的函数:srand()和rand()。原型是:函数一:int rand(void);返回一个介于[0,RAND_MAX]之间的随机整数。函数2: Voidsrand(无符号种子);参数seed是rand()的种子,用于初始化rand()的起始值。但是,需要注意的是,所谓的“伪随机数”并不是假随机数。实际上,绝对随机数只是理想状态下的随机数,计算机只能产生相对随机数,即伪随机数。计算机生成的伪随机数既有随机性又有规律性。——有的遵守一定的规则,有的不遵守任何规则。比如“世界上没有两片形状相同的叶子”,反映了事物特性的——个差异;但是每棵树的叶子形状都差不多,这就是事物的共性。从这个角度来看,我们可以接受计算机只能产生伪随机数而不能产生绝对随机数的事实。在系统调用rand()之前,它会自动调用s rand()。如果用户在rand()之前调用srand(),并为参数seed赋值,rand()将把seed的值作为生成伪随机数的初始值。如果用户在rand()之前没有调用srand(),那么系统默认为1作为伪随机数的初始值。如果给定一个固定值,rand()生成的随机数序列每次都是一样的~ ~所以为了避免上述情况,我们通常使用srand((无符号)time(0))或者srand((无符号)time(NULL))来生成种子。如果时间间隔仍然太小,您可以在(无符号)时间(0)或(无符号)时间(空)之后将其乘以合适的整数。例如srand((无符号)time(NULL)*10)此外,关于time _ t time (0): time _ t定义为长整数,返回从1970年1月1日00: 00: 00到现在经过的时间,以秒为单位。srand()和rand()的用法示例:# include # include # include void main(){ inti,j;srand((int)time(0));for(I=0;i10I){ j=1(int)(10.0 * RAND()/(RAND _ MAX 1.0));printf("%d ",j);}}
Q3:关于c++中rand()函数生成的范围
1.c++中rand()函数生成的范围:0~RAND_MAX2.rand()函数是产生随机数的一个随机函数,范围为0~RAND_MAX,其中RAND_MAX是C中stdlib.h中宏定义的一个字符常量:#define RAND_MAX Ox7FFFRAND_MAX值最小为32767,最大为21474836473.rand()函数没有输入参数,直接通过表达式rand()来引用;使用该函数首先应在开头包含头文件stdlib.h:#include(C++建议使用#include,下同)
Q4:C语言中rand()%100产生的是哪个范围的整数?
0-99 rand () 0是rand()除以100和余数的倒数,所以这个结果必须是[0,99]差内的整数。
Q5:C语言中rand()%100;表示什么意思?
产生0~99的随机整数,rand函数在stdlib.h里声明,用rand产生随机数要用srand函数来初始化种子,初始化种子一般用到time这个函数所以有time.h这个头文件
Q6:c++问题 rand() 默认产生的随机数范围
随机数产生的范围是:0-0x7fff(也就是0到32767) #include #include #include #include using namespace std; void main() { srand( (unsigned)time( NULL ) ); //时间参数作为种子 for(int i=0;i<32767;i++) { cout<<rand()<<endl; } }时间参数种子唯一,然后取的数目不大于32767个,基本能够保证产生的随机数唯一