C语言的获取随机数的函数为rand(),
可以获得一个非负整数的随机数。要调用rand需要引用头文件stdlib.h。
要让随机数限定在一个范围,可以采用模除加加法的方式。
要产生随机数r,
其范围为
m<=r<=n,可以使用如下公式:
rand()%(n-m+1)+m
其原理为,对于任意数,
0<=rand()%(n-m+1)<=n-m
于是
0+m<=rand()%(n-m+1)+m<=n-m+m
即
m<=rand()%(n-m+1)+m<=n
srand(seed);
//产生随机种子seed,可以手动指定,也可以取当前系统时间。取系统时间则为srand((unsigned)time(NULL));
//(需要事先包含time.h);
int
randnum=rand()
%
N;
//调用rand()函数,根据seed产生一个0~N(N为任意整数)以内的随机数,将值返回给整型变量randnum。
要想应用好c语言产生的影响。就要学会网络上的语言。
在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,可以称它为种子。
为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数。
C语言产生一定范围的随机数的源代码如下:
#include
#include
int
main()
{
int
i;
for(i=0;
i<10;
i++)
//随机产生10个数。
{
printf("%d\n",
rand());
}
return
0;
}
扩展资料
1、如果要随机生成一个在一定范围的数,你可以在宏定义中定义一个random(int
number)函数,然后在main()里面直接调用random()函数。
2、在对rand()的前三次调用中,并且此后得到的返回值仍然是在对rand()的第一批调用中所得到的其余的返回值。因此,只有再次给srand()提供一个随机的“种子”值,才能再次得到一个随机数。
随机生成在[x,y]内的整数
int
k;
k=x+rand()%(y-x+1)
//即为所求范围内随机生成的数,rand()%a的结果最大为a-1
使用:#include
strand(time(0));
则每次生成不同的随机数