随机产生不重复数字

下面是一个在14个数据产生10个不重复的随机数

-----------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var   a:array[1..14]of   integer;//14个数
          b:array[1..10]of   integer;//结果
          c:array[1..14]of     boolean;//标志,默认false
          i,temp:integer;
  begin
          for   i:=1   to   14   DO
            begin
              a[i]:=i;
              c[i]:=false;
            end;
          for   i:=1   to   10   do
              begin
                  temp:=Random(14)+1;
                  while   c[temp]=true   do
                      begin
                          temp:=Random(14)+1;
                      end;
                  b[i]:=a[temp];
                  c[temp]:=true;
              end;
          ListBox1.Clear;
          for   i:=1   to   10   do
          ListBox1.Items.Add(IntToStr(b[i]));

  end;

-------------------------------------------

你可能感兴趣的:(数字)