C语言随机数猜数字游戏源码
/*这里并未对用户的输入进行合法判断,可自行优化下。*/
#include
#include
#include
int main()
{
int answer,num; //声明“答案”和“用户输入的数”两个变量。
srand((unsigned)time(NULL)); //用srand()函数设置随机数种子。参数是系统时间。
answer = rand()%101; //随机生成答案,范围是0-100。
while(1) //死循环。直到输入正确答案,跳出。
{
printf("%请输入数字:");
scanf("%d",&num); //从键盘接收数,存到num。
if(num == answer) //如果num和answer相等
{
printf("YOU ARE WINNER!\n"); //输出获胜信息并跳出循环。
break;
}
else //执行到else这里,说明输入的数不正确。
{
if(num < answer) //判断数值大于还是小于答案,并输出相应的提示信息。
printf("小了!\n");
else
printf("大了!\n");
}
}
return 0;
}
C语言中产生随机数的方法
C语言中产生随机数的方法 引例:产生10个[100-200]区间内的随机整数。 #include
用C语言产生随机数
用c语言产生随机数 在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void srand( int a)。 可能大家都知道C语言中的随机函数random,可是random函数并不是ANSI C标准,所以说,random函数不能在gcc,vc等编译器下编译通过。 rand()会返回一随机数值,围在0至RAND_MAX 间。返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,(其值至少为32767),运算的结果是一个不定的数,要看你定义的变量类型,int整形的话就是32767。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for语句来设置种子的个数。具体见下面的例子。 一如何产生不可预见的随机序列呢 利用srand((unsigned int)(time(NULL))是一种方法,因为每一次运行程序的时间是不同的。
在C语言里所提供的随机数发生器的用法:现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下:1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值围从0~65535; 2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间) 3) 根据需要多次调用rand(),从而不间断地得到新的随机数; 4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。 下面是0~32767之间的随机数程序: #include
C语言随机函数
编程时有时需要随机输入一些数,这是调用随机函数可以完成此相命令. # include “stdio.h” # include “stdlib.h” # include “time.h” /*需引用的头文件*/ srand((unsigned)time(NULL)); /*随机种子*/ n=rand()%(Y-X+1)+X; /*n为X~Y之间的随机数*/ int rand(void) 函数int rand( void );返回的是一个界于0~32767(0x7FFF)之间的伪随机数,包括0和32767。C预先生成一组随机数,每次调用随机函数时从指针所指向的位置开始取值,因此使用rand()重复运行程序产生的随机数都是相同的,可以通过srand()函数来改变指针位置。 void srand( unsigned int seed ) 改变随机数表的指针位置(用seed变量控制)。一般配合time(NULL)使用,因为时间每时每刻都在改变,产生的seed值都不同。 一直被这个东西弄得模糊不清,终于又去整理了一下.弥补一些细节 主要是对rand()函数的使用//#include
} 功能产生0到RAND_MAX之间的随机整数.至于RAND_MAX有多大,可以自己编程的时候输出.这是库里自带的宏定义. 像这样的一个函数,就产生了一个0到imax的随机整数.但是,当你多次运行你会发现,每一次产生的值都是一样的.并不是说没有随机,而是随机数发生器(程序产生的随机数是依靠时钟钟断来产生的.因此并不是真正意义上的随机.但对于我们来说,已经够用了)没有被重置.导致结果相同.那下面就看一下几种初始化随机数发生器的办法. srand()函数: 原型: void srand(unsigned seed) 功能: 产生随机数的起始发生数据,和rand函数配合使用 头文件: stdlib.h time.h 例: #include
C语言编程题精选
1. 有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x))的值。 2. 任意输入三个字符,要求首先按逆序输出,然后同行原序输出。 3. 在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制): ****** ****** ****** ****** 4. 在屏幕上输出如下图案(考虑将输出的行数由输入的值来控制): * ** *** **** ***** 5. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制): * *** ***** ******* 6. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制): **** *** ** * 7. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制): ******* ***** *** * 8. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制): * *** ***** ******* ***** *** * 9. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制): * *** ***** ******* 10. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制): * ***
***** ******* ***** *** * 11. 编写打印如下图形的程序(考虑将输出的行数由输入的值来控制): * * * * * * * * * * * * * * * * * * * * 12. 编制程序打印如下图形(考虑将输出的行数由输入的值来控制): A BBB CCCCC DDDDDDD EEEEEEEEE FFFFFFFFFFF GGGGGGGGGGGGG 13. 编程打印图形(考虑将输出的行数由输入的值来控制): 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 5 6 5 4 3 2 1 14. 编程打印图形(考虑将输出的行数由输入的值来控制): 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 5 6 5 4 3 2 1 15. 编程打印图形(考虑将输出的行数由输入的值来控制): 1 2 3 4 5 6 5 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1 16. 编程打印图形(考虑将输出的行数由输入的值来控制): 1 1 1 1 2 1 1 3 3 1
C语言生成随机函数
程序有一个参数,表示生成的密码的长度 运行的时候要加上,比如./password 8 我写的很简单,参数没做检查,你应该自己去完善一下。 #include
浅谈C语言中如何取随机数
浅谈C语言中如何取随机数 级别:初级 1. 基本函数 在C语言中取随机数所需要的函数是: int rand(void); void srand (unsigned int n); rand()函数和srand()函数被声明在头文件stdlib.h中,所以要使用这两个函数必须包含该头文件: #include
C语言产生随机整数的方法
产生随机整数的方法: #include
b=rand()*limit/RAND_MAX; a=rand()*limit/RAND_MAX; 【例题】两个随机数的加减法 #include "time.h" #include "stdlib.h" #include "stdio.h" int main() { int a,b,z,limit; /* limit随机数的最大值——范围*/ printf("please input the limit\n"); scanf("%d",&limit); while(1) { srand((unsigned long)time(0)); /*产生随机数种子*/ a=rand()*limit/RAND_MAX; b=rand()*limit/RAND_MAX; a=rand()*limit/RAND_MAX; printf("%d+%d=",a,b); scanf("%d",&z); if((a+b)==z) printf("good!\n"); else printf("error!\n"); } while(1); return 0; }
用C语言的rand()和srand()产生伪随机数的方法总结
标准库 C和C随机数或字符串 生成源码 文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688] 1. 基本函数 在C语言中取随机数所需要的函数是: rand()函数和srand()函数被声明在头文件stdlib.h中,所以要使用这两个函数必须包含该头文件: 2. 使用方法 rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大。 srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。 每次运行都将输出:1 7 4 0 9 4 8 8 2 4 每次运行都将输出:1 7 4 0 9 4 8 8 2 4 例2的输出结果与例1是完全一样的。 每次运行都将输出:4 0 1 3 5 3 7 7 1 5 该程序取得的随机值也是在[0,10)之间,与srand(1)所取得的值不同,但是每次运行程序的结果都相同。 该程序每次运行结果都不一样,因为每次启动程序的时间都不同。另外需要注意的是,使用time()函数前必须包含头文件time.h。 3. 注意事项 求一定范围内的随机数。 如要取[0,10)之间的随机整数,需将rand()的返回值与10求模。randnumber =rand()% 10; 那么,如果取的值不是从0开始呢你只需要记住一个通用的公式。 要取[a,b)之间的随机整数(包括a,但不包括b),使用: (rand() % (b - a)) + a 伪随机浮点数。 要取得0~1之间的浮点数,可以用: rand() / (double)(RAND_MAX) 如果想取更大范围的随机浮点数,比如0~100,可以采用如下方法: rand() /((double)(RAND_MAX)/100) 其他情况,以此类推,这里不作详细说明。 当然,本文取伪随机浮点数的方法只是用来说明函数的使用办法,你可以采用更好的方法来实现。 举个例子,假设我们要取得0~10之间的随机整数(不含10本身): c语言中有关随机函数的使用详解 在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void srand( int a)。 可能大家都知道C语言中的随机函数random,可是random 函数并不是ANSI C标准,所以说,random函数不能在gcc,vc 等编译器下编译通过。 rand()会返回一随机数值,范围在0至RAND_MAX 间。返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,(其值至少为32767)我运算的结果是一个不定的数,要看你定义的变量类型,int整形的话就是32767。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for 语句来设置种子的个数。具体见下面的例子。 一如何产生不可预见的随机序列呢 利用srand((unsigned int)(time(NULL))是一种方法,因为每一次运行程序的时间是不同的。 在C语言里所提供的随机数发生器的用法:现在的C编译 器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下: 1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535; 2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间) 3) 根据需要多次调用rand(),从而不间断地得到新的随机数; 4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。 下面是0~32767之间的随机数程序: 复制代码代码如下: #include #inl #include #include #include main( ) { int i; srand( (unsigned)time( NULL ) ); for( i = 0; i 10;i++ ) 随机数生成函数srand() rand() 2007年12月11日星期二01:42 如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的,srand(n) for(10) rand() 也就是说,以一个固定的数值作为种子是一个缺点。通常的做法是以这样一句代码srand((unsigned) time(NULL));来取代,这样将使得种子为一个不固定的数,这样产生的随机数就不会每次执行都一样了。 1,先看一个例子 #include 用c语言产生随机数rand() 在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void srand( int a)。 可能大家都知道C语言中的随机函数random,可是random函数并不是ANSI C标准,所以说,random函数不能在gcc,vc等编译器下编译通过。 rand()会返回一随机数值,范围在0至RAND_MAX 间。返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,(其值至少为32767)我运算的结果是一个不定的数,要看你定义的变量类型,int整形的话就是32767。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for语句来设置种子的个数。具体见下面的例子。 一如何产生不可预见的随机序列呢 利用srand((unsigned int)(time(NULL))是一种方法,因为每一次运行程序的时间是不同的。 在C语言里所提供的随机数发生器的用法:现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下: 1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535; 2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间) 3) 根据需要多次调用rand(),从而不间断地得到新的随机数; 4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。 下面是0~32767之间的随机数程序: #include C语言编程中生成随机数的初级教程 几个概念 随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。 随机数种子:随机数的产生是由算术规则产生的,srand(seed)的随机数种子不同,rand()的随机数值就不同,倘若每次的随机数种子一样,则rand()的值就一样。所以要产生随机数,则srand(seed)的随机数种子必须也要随机的。 用srand()产生随机数种子 原型:void srand ( unsigned int seed ); 作用是设置好随机数种子,为了让随机数种子是随机的,通常用time(NULL)的值来当seed。 time()用于随机数种子 函数原型:time_t time ( time_t * timer ); time()函数表示返回1970-1-1 00:00:00 到当前时间的秒数。 用的时候这样:srand(unsigned(time(NULL)));例如产生1~10之间的随机整数 #include#includeint main(){ srand(time(NULL)); for(int i=0;i 10;i++) { int randValue=rand()%10; }} 上面的程序中要注意srand是在for循环外面的,如果把srand 放到for循环里面,则每次产生的随机数都相同。 用rand()产生随机数 原型:int rand ( void ); 作用是产生一个随机数,当然随机数是有范围的,为0~RAND_MAX之间,随机数与随机数种子有关。具体来说是,在产生随机数rand()被调用的时候,它会这样执行: 如果用户之前调用过srand(seed)的话,他会重新调用一遍srand(seed)以产生随机数种子; 如果发现没有调用过srand(seed)的话,会自动调用srand(1)一次。 如果调用srand(seed)产生的随机数种子是一样的话(即seed 的值相同),rand()产生的随机数也相同。 所以,如果希望rand()每次调用产生的值都不一样,就需要每次调用srand(seed)一次,而且seed不能相同。这里就是经常采用time(NULL)产生随机数种子的原因。 C语言中可以使用rand()函数来生成一个从0到RAND_MAX的uniform分布。基于这个函数,我们可以构造出一些特定的随机数生成器来满足我们的需求。 (一)0到1的uniform分布: //generate a random number in the range of [0,1]double uniform_zero_to_one(){ return (double)rand()/RAND_MAX;} (二)任意实数区间的uniform分布: //generate a random real number in [start,end]double uniform_real(double start,double end){ double C语言中的随机数 作者:王璐 随机数,顾名思义就是随机产生的、无规则的数。在编程中,有时我们不想手动从键盘输入数据,而想让电脑自动产生一些数据供我们使用(例如生成100个两位数),就要用到随机数。 随机数的生成方法很简单,在C语言中,我们通过调用随机函数rand()来产生随机数。rand函数是C语言的标准库函数,和我们常用的输入输出函数(scanf和printf)一样可以在程序中直接调用。 rand函数的用法如下: 首先在程序开头预处理命令部分加上#include 用c语言产生随机数 c learning 2007-11-29 21:51:21 阅读4755 评论7 字号:大中小 在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了srand()函数, 它的原形是void srand( int a)。 可能大家都知道C语言中的随机函数random,可是random函数并不是ANSI C 标准,所以说,random函数不能在gcc,vc等编译器下编译通过。 rand()会返回一随机数值,范围在0至RAND_MAX 间。返回0至RAND_MAX 之间的随机数值,RAND_MAX定义在stdlib.h,(其值至少为32767)我运算的结果是一个不定的数,要看你定义的变量类型,int整形的话就是32767。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for语句来设置种子的个 数。具体见下面的例子。 一如何产生不可预见的随机序列呢 利用srand((unsigned int)(time(NULL))是一种方法,因为每一次运行程序的时间 是不同的。 在C语言里所提供的随机数发生器的用法:现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下: 1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从 0~65535; 2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到 32767之间) 3) 根据需要多次调用rand(),从而不间断地得到新的随机数; 4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机 化”rand()的输出结果。 下面是0~32767之间的随机数程序: 4.3.1伪随机数的产生 产生伪随机数的函数是rand(),该函数可随机生成0~RAND_MAX之间的一个整数。RAND_MAX是头文件 产生随机数原理: 在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器。有关如何产生随机数的理论有许多,如果要详细地讨论,需要厚厚的一本书的篇幅。不管用什么方法实现随机数发生器,都必须给它提供一个名为种子的初始值。而且这个值最好是随机的,或者至少这个值是伪随机的。种子的值通常是用快速计数寄存器或移位寄存器来生成的。 下面讲一讲在C语言里所提供的随机数发生器的用法。现在编译器都提供了一个基于标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下: 1.首先给srand()提供一个种子,它是一个unsigned int类型,其取 值范围从0~65535; 2.然后调用rand(),它会根据提供给srand()的种子值返回一个随机数0 到32767之间) 3.根据需要多次调用rand(),从而不间断地得到新的随机数; 4.无论什么时候,都可以给srand()提供一个新的种子,从而进一步随机 化”rad() 的输出结果。 这个过程看起来很简单,问题是如果你每次调用srand()时都提供相同的种子值,那么,你将会得到相同的随机数序列,这时看到的现象是没有随机数,而每一次的数都是一样的了。例如,在以17为种子值调用srand()之后,在首次调用rand()时,得到随机数94。在第二次和第三次调用rand()时将分别得到26602和30017,这些数看上去是很随机的(尽管这只是一个很小的数据点集合),但是,在你再次以17为种子值调用srand()后,在对于rand()的前三次调用中,所得的返回值仍然是在对94,26602,30017,并且此后得到的返回值仍然是在对rand()的第一批调用中所得到的其余的返回值。因此只有再次给srand()提供一个随机的种子值,才能再次得到一个随机数。 rand()通常的使用方法: rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 这样,如果你要产生0~10的10个整数,可以表达为: int N=rand()%11; 这样,N的值就是一个0~10的随机数,如果要产生1~10,则是这样: int N=1+rand()%11; 总结来说,可以表示为: a+rand()%n 其中的a是起始值,n是整数的范围。 若要0~1的小数,则可以先取得0~10的整数,然后均除以10即可得到随机到十 分位的10个随机小数,若要得到随机到百分位的随机小数,则需要先得到 原文地址:C语言:随机函数rand()、srand()、random()和randomized()的区别和用法作者:猎空 声明一点:在VC++中,没有random()和randomize()函数,只有rand()和srand()函数。 其中,random()和randomize()函数的使用的方法分别与rand()和srand()函数的使用方法对应类似。 下面就开始讲rand()和srand()函数的使用: 首先,让我们从宏观的角度,来理解它们的使用机理: 1、这两个函数都在头文件是stdlib.h中 2、rand()函数和srand()函数必须配套使用。 其中,rand()是用来产生随机数的发生器,而srand()函数是用来给rand()函数提供变量(或者称种子)。 因为“种瓜得瓜,种豆得豆”,如果你不通过srand()函数来提供不同的种子,那么rand()函数产生的数就只能是固定的瓜或者豆(其实,如果你的程序中没有使用srand()函数,rand()在产生随机数时,会默认调用srand(1),即种子永远是1)。达不到我们预期的要求。所以 rand()函数总是和srand()函数一起使用。 接下来,让我们看看具体如何调用rand()和srand()函数 1、srand()函数 在VC++中,它的声明是:void srand(unsigned seed) 是一个无返回值、单无符型形参的函数。 根据上面的分析,我们知道产生随机数的一个关键是:在程序每次运行中,让这个seed(种子)都不一样,即是一个可变常数。通常情况下,我们会使用时间来作为seed,即令srand((unsigned)time(NULL))。其中,time()函数在头文件time.h中。time()的声明是:long time(long *locatime),它返回的是一个以秒为单位的当地时间,例如:2010年4月19日17:57:02,则它的返回值是:N(年)*365*24*60*60(这是年部分,还要加月、日、时、分、秒才完整。因为不知道是初始年是哪一年,所以用N表示)我现在这个时刻运行的结果是:1271673894(挺大的一个整数) 2.、rand()函数 在VC++中,它的声明是:int rand(void) ,它返回一个[seed, RAND_MAX (0x7fff))间的随机整数,其中,RAND_MAX是个定值,我用VC++查看是:32767。 C语言如何产生随机数 1. 基本函数 2. 使用方法 rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大。 srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。 每次运行都将输出:1 7 4 0 9 4 8 8 2 4 每次运行都将输出:1 7 4 0 9 4 8 8 2 4 例2的输出结果与例1是完全一样的。 每次运行都将输出:4 0 1 3 5 3 7 7 1 5 该程序取得的随机值也是在[0,10)之间,与srand(1)所取得的值不同,但是每次运行程序的结果都相同。 该程序每次运行结果都不一样,因为每次启动程序的时间都不同。另外需要注意的是,使用time()函数前必须包含头文件time.h。 3. 注意事项 求一定范围内的随机数。 如要取[0,10)之间的随机整数,需将rand()的返回值与10求模。 那么,如果取的值不是从0开始呢?你只需要记住一个通用的公式。 要取[a,b)之间的随机整数(包括a,但不包括b),使用: (rand() % (b - a)) + a 伪随机浮点数。 要取得0~1之间的浮点数,可以用: rand() / (double)(RAND_MAX) 如果想取更大范围的随机浮点数,比如0~100,可以采用如下方法: rand() /((double)(RAND_MAX)/100) 其他情况,以此类推,这里不作详细说明。 当然,本文取伪随机浮点数的方法只是用来说明函数的使用办法,你可以采用更好的方法来实现。 举个例子,假设我们要取得0~10之间的随机整数(不含10本身): 大家可能很多次讨论过随机数在计算机中怎样产生的问题,在这篇文章中,我会对这个问题进行更深入的探讨,阐述我对这个问题的理解。 首先需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪C和C随机数或字符串生成源码图文稿
实用C语言中有关随机函数的使用详解
随机数生成函数C
用c语言产生随机数rand()
实用C语言编程中生成随机数的初级教程
C语言中的随机数
用c语言产生随机数
C语言程序设计 伪随机数的产生
C语言随机数产生原理即用法
c语言随机函数的使用
C语言如何产生随机数