用随机函数random产生100到1000的随机数,用pascal语言,语句怎么写?

如题所述

random用法:random(x); //注释:x是个正整数
即可随机产生0~x之间的一切整数。而且它是一个函数,不能单独使用。
如a:=random(100);就是随机产生1个0~100之间的数赋给变量a;
但是如果只用random的话不太好。
因为random函数是随机一个数,然后你再次random的时候还是产生那个数。
如果不信,拿下面的程序去运行看看:
program exercise(input,output);
var i,a:longint;
begin
for i := 1 to 10 do
begin
a:=random(100);
write(a,' ');
end;
end.
打出来的10个数肯定都是一样的
所以,pascal为了解决这个问题,有一个和random配套的过程randomize
这个randomize是单独使用的(因为是个过程);
它可以解决random的问题,你可以拿如下的程序去验证:
program exercise(input,output);
var i,a:longint;
begin
randomize;(注意!randomize最好在开头输入)
for i := 1 to 10 do
begin
a:=random(100);(random照常使用)
write(a,' ');
end;
end.
这个程序运行之后打出来的数就是10个不同的0~100之间的数了!所以一般在随机产生数的时候,都要加上randomize不然都是一样的数就不好了。

那么你的要求,这个语句就改为
randomize;
a:= random(900) + 100 ;

就好了
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-28
writeln( 100 + random(901) );
纠正一下,random(x)生成的是属于[0~x-1]的整数的随机数,另外randomize是初始化随机因子,一般与时间有关,及randomize,会让随机因子变为只与时间有关系的数,所以不要在很接近的时间里使用randomize,否则会出错,即让多个随机数完全相同。
第2个回答  2011-09-29
random(1000-100)+100
由于random产生的是0~上限 的整数,所以把范围先往下移100,得到结果后再向上移100(加100)。本回答被提问者采纳
第3个回答  2012-02-29
其实是
randomize;
(变量名)=random(900)+100;
第4个回答  2011-09-28
res = round(100 + random(901));

用随机函数random产生100到1000的随机数,用pascal语言,语句怎么写?
random(1000-100)+100 由于random产生的是0~上限 的整数,所以把范围先往下移100,得到结果后再向上移100(加100)。

用随机函数random产生100到1000的随机数,用pascal语言,语句怎么写?
即可随机产生0~x之间的一切整数。而且它是一个函数,不能单独使用。如a:=random(100);就是随机产生1个0~100之间的数赋给变量a;但是如果只用random的话不太好。因为random函数是随机一个数,然后你再次random的时候还是产生那个数。如果不信,拿下面的程序去运行看看:program exercise(input,output);...

pascal中如何产生随机数
write(random(101),' '); 可产生0~100之间的随机整数。但是这样的程序段,多次运行的结果是完全一样的。如要使每次运行产生不同的随机数序列,可以在使用随机函数之前,用系统时钟初始化随机数发生器。具体使用方法是使用randomize; 语句。

randomizepascal中的用法
例如,如果你需要生成0到100之间的随机数,不能简单地使用random(100),而应该使用random(101),这是因为Pascal的随机数函数会包含101这个数。以下是一个示例程序,展示了如何生成这个范围内的随机整数:在Pascal中,为了确保每次运行都能得到新的随机数,你需要首先调用randomize函数,如下所示:pascal var...

求一PASCAL大牛教我随机算法...
writeln(random(100));\/\/在1~100范围内随机生成数 end.随机算法经典用途:骗分 流程或执行结果。随机化算法基于随机方法,依赖于概率大小。随机化算法概述 在我们的生活中,人们经常会去掷色子来看结果,投硬币来决定行动,这就牵涉到一个问题:随机。计算机为我们提供好了随机方法(部分计算器也提供了...

ramdomizepascal中的用法
pascal begin randomize; \/\/ 初始化随机数生成器 var a: integer;a := random(101); \/\/ 生成0到100的随机数 writeln(a); \/\/ 输出随机数 readln; \/\/ 等待用户输入 end.这个程序首先调用randomize函数,然后使用random(101)生成一个0到100的随机整数,并将其赋值给变量a。最后,程序输出这个随机...

pascal如何产生若干个随机数
randomize;\/\/随机数初始化,不然的话每次生成的随机数都会是一样的 for i:=1 to n do a[i]:=random(x);\/\/random生成的是0~1之间的实数(不包括1),random(x)则是整数,x决定了范围,没记错的话相当于random*n吧。。。如果要上下界的话需要口算一下了 end.大概吧。。因为没怎么用过...

random函数的用法
Pascal中的random函数需要配合randomize过程使用,以实现真正的随机性。random(x)函数接受一个正整数x,返回0到x之间的一个整数,但如果不配合randomize,同一程序多次运行可能会得到重复的随机数。例如:pascal program exercise(input,output);var i, a: longint;begin randomize; \/\/ 必须在程序开始时...

pascal程序怎样随机产生一个三位数? 并解释为什么要这样编写? 谢谢
program ex;var x:integer;begin randomize; {先执行randomize, 才能得到随机整数} x:=random(900)+100; {random(n)产生0~n-1的随机数} writeln(x); { random(900)是0-899的随机数,再加上100就是100-999的随机数} end....

谁知道PASCAL随机函数怎么用?
使用Randomize初始化.后使用random函数,也就是随机函数。可以直接使用,也可以用RANDOM(NUMBER),表示不超过NUMBER的随机数。

相似回答