D
dpianyi
Unregistered / Unconfirmed
GUEST, unregistred user!
我需要生成一组不重复的随机数,用了洗牌算法,但最后得到的结果中有一个莫名其妙的数字,代码大意如下:procedure TForm1.BitBtn1Click(Sender: TObject); var c,d,e,g:integer; k:array of integer;begin SetLength(k,7); for c := 1 to 7 do k[c]:=c; randomize; for c := 1 to 7 do begin d:=1+random(7); e:=k[c]; k[c]:=k[d]; k[d]:=e; end; for c := 1 to 7 do showmessage(inttostr(k[c]));end;我的原意是从1-7这7个数字随机生成不重复的一组数字,如5、3、1、4、2、6、7,但在最后的跟踪结果里,总会生成这样的结果4、6、5、1、2、7、9780796,不知这个9780796是怎么得来的,应该如何避免。