重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用rand函数吧,好久不用C语言,不太记得,貌似是int a=rand()% X(X即范围)这是伪随机数
创新互联制作网站网页找三站合一网站制作公司,专注于网页设计,网站设计制作、成都网站建设,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为近1000家服务,创新互联网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
#includetime.h
srand(time(NULL));使用前用这条语句初始化
使用int a=rand() / RAND_MAX * n;
就得到真正的随机数
C语言随机函数主要用于实现一组随机数的生成。
代码示例如下:
#includestdio.h
#includestdlib.h
int main ()
{
int a;
a=rand()%4;
printf("%d\n",a);
return 0;
}
C预先生成一组随机数,每次调用随机函数时从指针所指向的位置开始取值,因此使用rand()重复运行程序产生的随机数都是相同的,可以通过srand()函数来改变指针位置。
扩展资料:
C语言随机函数指针位置
void srand( unsigned int seed )
改变随机数表的指针位置(用seed变量控制)。一般配合time(NULL)使用,因为时间每时每刻都在改变,产生的seed值都不同。
基于毫秒级随机数产生方法:
#includewindows.h
种子设为:srand(unsigned int seed);
srand(GetTickCount());
参考资料:百度百科-C语言随机函数
C语言产生有范围随机数需要random函数。
random即随机数发生器,使用之前需要使用Randomize语句进行随机数种子的初始化。RANDOM产生的是伪随机数或者说是用一种复杂的方法计算得到的序列值,因此每次运算时需要一个不同的种子值。种子值不同,得到的序列值也不同。因此也就是真正的随机数了。这也正是RANDOMIZE随机初始化的作用。
VB里用
NEW
RANDOM()来表示初始化。
功
能:
随机数发生器
用
法:
int
random(int
num);
程序例:
#include
#include
#include
/*
prints
a
random
number
in
the
range
to
99
*/
int
main(void)
{
randomize();
随机数种子被初始化时
printf("Random
number
in
the
0-99
range:
%d\n",
random
(100));
return
0;
}
#include
stdlib.h
#include
stdio.h
#include
time.h
void
main()
{
int
i,count[100];
for(i=0;i100;i++)
{count[i]=random(100);//设定
取值范围
,这表明
随机数
是0-100之间取
printf("%d\n",count[i]);
}
}
编译环境为:vs2013
产生1到3的整型随机数的代码如下:
#includestdio.h
#includetime.h
#includestdlib.h
#define max 3 //这个函数的意义为:随机生成最大的数为3
#define min 1 //这个函数的意义为:随机生成最小的数为1
int main()
{
int num;
srand(time(0));
num = rand() % (max - min) + min; // 这里的意义,“%”为模运算
printf("随机数为:%d\n", num);
system("pause"); //这个代码可以让弹出的黑框不会一下就消失
return 0;
}
扩展资料:
根据密码学原理,随机数的随机性检验可以分为三个标准:
条件一、统计学伪随机性。统计学伪随机性指的是在给定的随机比特流样本中,1的数量大致等于0的数量,同理,“10”“01”“00”“11”四者数量大致相等。类似的标准被称为统计学随机性。满足这类要求的数字在人类“一眼看上去”是随机的。
条件二、密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。
条件三、真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。
随机数分为三类:
①伪随机数:满足第一个条件的随机数。
②密码学安全的伪随机数:同时满足前两个条件的随机数。可以通过密码学安全伪随机数生成器
计算得出。
③真随机数:同时满足三个条件的随机数。
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