C语言中rand()%m是啥意思?

Python029

C语言中rand()%m是啥意思?,第1张

rand()%m这个函数是随机产生0到m-1的随机数;比如rand()%10就是随机产生0到9的随机数。

拓展资料

使用C语言的rand函数,生成的是伪随机数;

c语言之rand函数的使用

1、写入头文件

2、变量的定义

3、srand( (unsigned)time( NULL ) )/*选取种子文件*/

4、for( i = 0i <20i++ ) /*循环控制20个随机数的生成*/

{ k=rand()%100/*储存随机数*/ printf( ” k=%d\n”, k )/*输出随机数*/ } }

(1)此为随机函数的一种产生方法

(2)如果只需一个,那么可以省略循环控制

生成随机数rand函数的用法:

函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用 srand()会导致相同的随机数序列被生成。

srand((unsigned)time(NULL))则使用系统定时/计数器的值做为随机种子。每个种子对应一组根据算法预先生成的随机数,所以,在相同的平台环境下,不同时间产生的随机数会是不同的,相应的,若将srand(unsigned)time(NULL)改为srand(TP)(TP为任一常量),则无论何时运行、运行多少次得到的“随机数”都会是一组固定的序列,因此srand生成的随机数是伪随机数。

rand()是表示产生随机数的一种函数,多应用于循环语句当中进行判断。

比如说n=rand();

switch(n)

{case1.......

case2......}

这些都是都可能被执行的,因为数字是随机的。

扩展资料:

注意

rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种了,为基准以某个递推公式推算出来的一系数,

当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a) ,

功能是初始化随机产生器既rand()函数的初始值,即使把种子的值改成a从这你可以看到通过sand()函数,可以产生可以预见的随机序列。

参考资料来源:rand函数-百度百科