我只是想知道为什么这个问题发生在我身上.如果你能帮助我,我会很感激.
Program factorial;
uses crt;
var
f, i: Integer;
begin
f:=1;
for i:=1 to 5 do
f:= f * i;
write(f);
readkey;
end.
Run Code Online (Sandbox Code Playgroud)
好的,这很好,结果是120.这是真的.
现在,这是问题所在.如果我要求用户输入数字的值,它将无法正常工作.
Program factorial;
uses crt;
var
i,r: Integer;
begin
write('Enter the number');
read(r);
for i:=1 to r do
r:= r * i;
write(r);
readkey;
end.
Run Code Online (Sandbox Code Playgroud)
如果我写了5,输出将是600.
Vin*_*nie 10
您使用值r作为循环的停止条件并修改循环中的值.
Program factorial;
uses crt;
var
i,r, f: Integer;
begin
write('Enter the number');
read(r);
f := 1;
for i:=1 to r do
f:= f * i;
write(f);
readkey;
end.
Run Code Online (Sandbox Code Playgroud)