尝试获取(变量-2)和(变量+2)范围内的数字。 例如,如果X = 7,那么我想要一个随机数生成器,它给出一个5到9范围内的值。见下面我的尝试,它给了我意想不到的结果:
var x, xRange, i,count,xLower, xhigher:integer;
begin
x:=7;
xLower:=x-2;
xHigher:=x+2;
for count:= 1 to 20 do
begin
i:=random(xHigher)+xLower;
writeln(i);
end;
readln;
end.
答案 0 :(得分:1)
如user 500 - Internal Server Error和Marat Talipov
所述你想要:
i:=random(xHigher-xLower)+xLower;
在调用Random之前,您还应该使用Randomize;
调用,以便每次都获得一个新的随机值。所以最后:
var x, xRange, i,count,xLower, xhigher:integer;
begin
Randomize;
x:=7;
xLower:=x-2;
xHigher:=x+2;
for count:= 1 to 20 do
begin
i:=random(xHigher-xLower)+xLower;
writeln(i);
end;
readln;
end.