如果是一组数组 用以下函数看看 先定义个类型 TIntarray = array of Integer;uses Math;//aTopNum 是要取最大值个数 Data 是int数组 返回数组function GetTopMax(aTopNum:Integer;Data:TIntarray):TIntarray;var i,j,k:Integer; tmp:array of Integer;begin SetLength(Result,aTopNum); SetLength(tmp,Length(Data)); for i:=0 to High(Data) do tmp:=Data; for j:=0 to aTopNum-1 do begin Result[j]:= MaxIntValue(tmp); for i:=0 to Length(tmp)-1 do begin if (tmp<>Result[j]) then tmp:=tmp else begin for k:=i+1 to Length(tmp)-1 do begin if tmp[k]<>Result[j] then begin tmp:=tmp[k]; Break; end; end; end; end; SetLength(tmp,Length(tmp)-1); end; //取最大两位 GetTopMax(2,a);