已知函数如下:
function f(n:integer):integer;
begin
if n=0 then f:=0
else if n>0 then f:=f(n-2)
else f:=f(n+3)
end;
则调用f(5)的值是( )
A、 0
B、 1
C、 -1
D、 -2
E、 2还不知道怎么在Delphi中运行该代码,那为朋友能够教教吗?
function f(n:integer):integer;
begin
if n=0 then f:=0
else if n>0 then f:=f(n-2)
else f:=f(n+3)
end;
则调用f(5)的值是( )
A、 0
B、 1
C、 -1
D、 -2
E、 2还不知道怎么在Delphi中运行该代码,那为朋友能够教教吗?
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function f(n:integer):integer; ////////////声明该函数
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);///////button1调用f(n)的代码
var
vn:integer;////定义一个变量以便传递edit1的值给f(n)
begin
vn:=strtoint(Trim(edit1.text));
edit2.text:=inttostr(f(vn)); ////调用f(n)并把结果显示在edit2上
end;function TForm1.f(n:integer):integer;////////函数f(n)本身也要写进来
begin
if n=0 then f:=0
else if n>0 then f:=f(n-2)
else f:=f(n+3)
end;
end.
在edit1中输入5,执行后,在edit2中显示结果为0
输入很多数字,得到的结果都是0
所以你测出来的结果都是0。