我不知道为什么程序没有运行



请告诉我我错在哪里,我不能在2个程序中找到我的错误。我尝试在pascal中使用递归。

这个正在运行,但是它给我错误的结果

program fatorial;
var
  n: integer;
function f(n: longint): longint;
begin
  if((n=0) or (n=1)) then 
    f:=1 
  else 
    *f:= n*f(n-1);*
  read(f);
end;
begin
  write('n:='); read(n);
  f(n);
  write('result:', f(n));
  readln;
end.

这个告诉我"错误:非法表达式",但我不知道如何修复它

program Greatest_common_divisor;
var
  gcd,p,q: integer;
  r:=real;
begin
  write('p:'); read(p);
  write('q:'); read(q);
  r:= p mod q;
  if r <> o then
  begin
    p:=q;
    q:=r
    *gcv:= gcv(q,r);*
  end;
  write('Greatest common divisor:', gcv(p.q));
  readln;
end.
  1. 不应该在函数中读取f

  2. 你应该写一个函数,而不是使用内部函数gcv()

第一个问题

  1. 我认为在函数中读取f是不正确的。

但是第二个问题:

  1. r:=real;命令中不要使用:=,只能使用:
  2. ogcv是什么样的变量?你没有在var之后识别ogcv
  3. ;放在q:=r之后

相关内容

  • 没有找到相关文章

最新更新