0>X<4.5   X=04.5>=X<9.5  X=59.5>=X<14.5  X=1014.5>=X<19.5  X=1519.5>=X<24.5 X=20
.       
.
.
X>1000  超出范圍

解决方案 »

  1.   

    if(x<=1000)
        Result:=Trunc(x+0.5)
    else
        Result:=-1;(超出范围)
      

  2.   

    //改一下。把分给楼上吧。function Func(X : Double): integer;
    begin
      if(x<=1000) then
        Result := Trunc(x+0.5) div 5 * 5
      else
        Result:=-1;
    end;
      

  3.   

    function TForm1.JS(X: Double): Integer;
    var
      A: Integer;
    begin
      if X > 1000 then Exit;
      A := Trunc(X + 0.5);
      Result := A - (A mod 5);
    end;
      

  4.   

    错了,只取整了,忘记div 5的后续处理了。
      

  5.   

    鄙视楼主---- gzmhero(hihihi)  只得5分?三楼答案正确吗? 我在二楼的答案是给一楼gzmhero(hihihi) 改的。
      

  6.   

    不好意思, Chenzhuo , 你的答案也算是正确的.  给你挑出一点不足: 当X>1000时, 函数返回值不确定.这不是一个好的习惯. 你也应该注意到了, 编译时, Delphi会对你的函数提出一个警告.对不起了. 我的意思是,我给一楼改了错, 我虽然说了不要分, 但至少应把该给我的分给一楼.只给一楼5分,太少了.