vb f(x,y)的返回值是谁 ,是多少,why

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:11:07
Private Sub Form_Load()

Text1.Text=""

Text2.Text=""

Text3.Text=""

End Sub

Private Sub Command1_Click()

x=Val(Text1.Text)

y=Val(Text2.Text)

Text3.Text=f(x,y)

End Sub

Function f(ByVal x As Integer,ByVal y As Integer)

Do While y<>0

tmp=x Mod y

x=y

y=tmp

Loop

f=x

End Function

运行程序,在Text1文本框中输入36,在Text2文本框中输入24,然后单击命令按钮,则在Text3文本框中显示的内容是。
如果在f=x中输入print x;y;tmp 则输出的是12 0 0 为什么

答案: 12
Function f(ByVal x As Integer,ByVal y As Integer)
是求最大公约数的子程序
程序分析如下:
Do While y<>0
tmp=x Mod y 'x=36 y=24 tmp=12
x=y 'x=24
y=tmp 'y=12
Loop '因为y=12 故不满足 y<>0 所以继续do while
f=x

Do While y<>0
tmp=x Mod y 'x=24 y=12 tmp=0
x=y 'x=12
y=tmp 'y=0
Loop '因为y<>0 所以退出 do while
f=x 'f=12
所以f=12

在循环内部
在计算第一次后X=24,Y=tmp=12
.........二....X=12,Y=tmp=0
运算完第二次后因条件y<>0不满足而退出循环
所以按你要求输出为12 0 0.

f函数是求最大公约数的子程序。
所以返回值是12

Function f(ByVal x As Integer,ByVal y As Integer

若f(x)是定义在(0,+∞)上的增函数,且f(x/y)=f(x)-f(y),若f(6)=1,解不等式f(x+3)-f(1/x)<2. f(x)是定义于R上的函数,满足两个条件f(x+y)=f(x)f(1-y)+f(1-x)f(y)。。。 已知f(x)满足f(1)=1,对于任意的实数x、y都满足f(x+y)=f(x)+f(y)+2y(x+y)+1,若x是正整数,则f(x)=? f(x+y)=f(x)+f(y)的特性 设f(x)的定义是(0,无穷),当x>1时,f(x)<2,对于任意x,y有f(xy)=f(x)+f(y)-2 如果函数y=f(x)的定义域为〔0,1〕,且F(x)=f(x+2)+f(x-m)有意义,则实数m的取值范围是 f(x)的定义域是R,f(x+y)=f(x)f(y),且f(-1)=f(1/2),求f-1(1) f={x,y|0<x*x+y*y<1},点0是f的边界点吗 高一数学题,设f(x)是定义在有理数集上的函数且满足f(x+y)=f(x)+f(y)求f(x) f(x)的定义域是R,f(x+y)=f(x)f(y),且f(-1)=1/2,求f-1(1)