编译出错,请问错在哪里? ( 积分: 5 )

  • 主题发起人 主题发起人 wdycwopt
  • 开始时间 开始时间
W

wdycwopt

Unregistered / Unconfirmed
GUEST, unregistred user!
function factorial(n:extended):extended;
begin
result:=1;
while n>1 do
begin
result:=result*n;
n:=n-1;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
num:extended;
begin
num:=strtoint(edit1.Text);
if num>20 then
showmessage('输入的数据不能大于20!')
else
edit2.Text:=inttostr(factorial(num));
end;
 
function factorial(n:extended):extended;
begin
result:=1;
while n>1 do
begin
result:=result*n;
n:=n-1;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
num:extended;
begin
num:=strtoint(edit1.Text);
if num>20 then
showmessage('输入的数据不能大于20!')
else
edit2.Text:=inttostr(factorial(num));
end;
 
edit2.Text:=inttostr(factorial(num));

edit2.Text:=Floattostr(factorial(num));
 
谢谢你!问题解决了。
可是我又发现一个问题,为什么只能算到170的阶乘(而170的阶乘只是E306,而Extended能容下E4932呢。)?
 
接受答案了.
 

Similar threads

I
回复
0
查看
781
import
I
I
回复
0
查看
702
import
I
后退
顶部