功 能: 随机数发生器 用 法: int random(int num); 程序例: #include <stdlib.h> #include <stdio.h> #include <time.h> /* prints a random number in the range 0 to 99 */ int main(void) { randomize();
printf("Random number in the 0-99 range: %d\n",random (100)); return 0; } 注意: 在使用Random之前需要使用Randomize语句进行随机数种子的初始化。 例如: var a,i,j:integer; begin {RANDOMIZE;} for j:=1 to 2 do begin for i:=1 to 10 do begin a:=random(1000); writeln(a); end; writeln; end; end. 这两组数据输出的是一样的结果,如果在程序前加上RANDOMIZE(即把大括号去掉)再运行程序,输出数据就不一样了. RANDOM产生的是伪随机数或者说是用一种复杂的方法计算得到的序列值,因此每次运算时需要一个不同的种子值。种子值不同,得到的序列值也不同。因此也就是真正的随机数了。这也正是RANDOMIZE随机初始化的作用。 VB里用 NEW RANDOM()来表示初始化。
Random类的主要方法是Next方法,它产生一个介于两个整数之间的随机数。语法格式为: public virtual int Next(int min Value,int max Value); NextDouble 方法:产生大于或等于0.0 而小于1.0 的双精度浮点数字。语法格式为: public virtual double NextDouble(); 例:求两个随机数的和。 Random p1 = new Random(10); Random p2 = new Random(); int result; result = p1.Next(10,99) + p2.Next(0,9); Console.WriteLine(result );