var
Form1: TForm1;
num:array[0..5] of integer;
implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
j:integer;
begin
for i := 0 to 4 do
begin
repeat
for j := 0 to i do
if num[j]=num[i] then
num[i]:=random(23);
until(num[j] <>num[i]);
end; edit1.Text:=inttostr(num[0]);
edit2.Text:=inttostr(num[1]);
edit3.Text:=inttostr(num[2]);
edit4.Text:=inttostr(num[3]);
edit5.Text:=inttostr(num[4]);
end;
这是我的代码,但总有重复的数字出现
Form1: TForm1;
num:array[0..5] of integer;
implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
j:integer;
begin
for i := 0 to 4 do
begin
repeat
for j := 0 to i do
if num[j]=num[i] then
num[i]:=random(23);
until(num[j] <>num[i]);
end; edit1.Text:=inttostr(num[0]);
edit2.Text:=inttostr(num[1]);
edit3.Text:=inttostr(num[2]);
edit4.Text:=inttostr(num[3]);
edit5.Text:=inttostr(num[4]);
end;
这是我的代码,但总有重复的数字出现
取一随机数,取出来以后,把它的位置和24位的数字对换,再取随机数的时候从前面23个数里来取,依次累推,效率高且肯定不会重复,