如何用从 1000 到 9999 的不同随机数填充一个数组?

How to fill an array with different random numbers from 1000 to 9999?

我正在尝试用 1000 到 9999 之间的不同数字填充一个数组。

我的问题是我的代码用相同的数字填充数组。这是我的方法:

repeat
  Write('Enter an Integer from 5 to 20: '); Readln(n)
until (n in [5..20]);

for i := 1 to n do 
begin
  T[i] := Random(9000)+1000; // 1000 to 9999
  Randomize
end;

Writeln('___________________________________');
for i := 1 to n do 
  Write(T[i], ' | '  );
Writeln;    
Writeln('___________________________________');

您应该在实际循环之前调用 Randomize()

Randomize();
for i := 1 to n do
begin
  T[i] := Random(9000) + 1000;
end;

Randomize initializes the random number generator