我定义了一个函数如下:目的是为了得到不同X值下的CP,X的范围是0~3727,可是我得到的数值并不是预期的。是不是这段代码出了问题。不能直接用多个if ..then 吗?请大家帮忙解决下 谢谢
FUNCTION CP(X:Real):Real;
begin
IF(X<=37)THEN
A0:=1;
CP:=A0*X;
IF(X<=97)THEN
A0:=12;
CP:=A0*X;
IF(X<=387)THEN
A0:=123;
CP:=A0*X
IF(X<=1527)THEN
A0:=1234;
CP:=A)*X
IF(X<=3727)THEN
A0:=12345;
CP:=A0*X;
end;
FUNCTION CP(X:Real):Real;
begin
IF(X<=37)THEN
A0:=1;
CP:=A0*X;
IF(X<=97)THEN
A0:=12;
CP:=A0*X;
IF(X<=387)THEN
A0:=123;
CP:=A0*X
IF(X<=1527)THEN
A0:=1234;
CP:=A)*X
IF(X<=3727)THEN
A0:=12345;
CP:=A0*X;
end;
浮点比较大小是不能这样操作的.....
初步帮你改了一下,你自己看看吧.
FUNCTION CP(X:Real):Real;begin
IF(x>=0)and(X<=37)THEN begin
A0:=1;
CP:=A0*X;
end;
IF(x>37)and (X<=97)THEN begin
A0:=12;
CP:=A0*X;
end;
IF(x>97)and(X<=387)THEN begin
A0:=123;
CP:=A0*X
end;
IF(x>387)and(X<=1527)THEN begin
A0:=1234;
CP:=A)*X;
end;
IF(x>1527)and(X<=3727)THEN begin
A0:=12345;
CP:=A0*X;
end;
end;