有什么方法可以从1-100里随机一次产生10个数字,而且要不重复的
有什么函数吗

解决方案 »

  1.   

    一次产生一个1~Range之间的整数:
    function GetRandom(Range: integer): Integer;
    begin
      Randomize;
      Result := Trunc(Random * Range);
    end;
      

  2.   

    楼上的函数有什么用,Random不就范围参数吗?
      

  3.   

    在使用random前必须使用randommize 这样才能使每次都是随机的数。否则的话就会第一次随机,以后的都和第一次一样!
      

  4.   

    是randomize,不好意思,记错了!
      

  5.   

    procedure Countnum(var a: array of integer;b:integer);
    var
      i:integer;
      n:boolean;
      j:integer;
    begin
      a[0]:=random(b)+1;
    for i:=1 to high(a) do    repeat
        n:=true;
        j:=0;
        a[i]:=random(b)+1;
          repeat
            if a[i]=a[j] then  n:=false;
            j:=j+1;
          until (not n) or (j=i);
        until n;end;
    调用就是
    var
    a:array of integer;
    ............
    setlength(a,10);
    Countnum(a,100);