各位高手,小人我前来求助,如何实现十个固定数据的乱序的输出,而且每次的输出结果都不一样?希望各位能给出代码,谢谢!

解决方案 »

  1.   

    假设十个数为11到20
    const s : array[0..9] of Integer = (11,12,13,14,15,16,17,18,19,20);
    var i,j :integer;
        ss  :String;
    begin
      Randomize;
      for i := 1 to 10 do
      begin
        repeat
          j := Random(10);
        until  (Pos(IntToStr(s[j]),ss) <= 0 );    ss := ss+IntToStr(s[j]) + ',';
      end;
    end;
      

  2.   

    var s1 : array[0..9] of Integer = (11,12,13,14,15,16,17,18,19,20);//s1是s的复制
    var i,j :integer;
        ss  :String;N:integer=10;
    begin
      for i := 1 to 10 do
      begin
        repeat
          Randomize;
          j := Random(N);
          delete(s1[j-1]);//自定义
          dec(N);
        until  (Pos(IntToStr(s[j]),ss) <= 0 );    ss := ss+IntToStr(s[j]) + ',';
      end;
    end;