VB编程题,1.用函数调用的方式编写求两个自然数的最大公约数。2.计算5!+4!+3!+2!+1!,按照地址传递的方法

2025-05-15 23:06:10
推荐回答(1个)
回答(1):

第一题:
两个TextBox,一个Command。
Option Explicit
Private Function MaxModNum _
(ByVal a As Long, ByVal b As Long) _
As Long
Dim c As Long
c = 1
Do While c <> 0
c = a Mod b
a = b
b = c
DoEvents
Loop
MaxModNum = a
End Function
Private Sub Command1_Click()
If IsNumeric(Text1.Text) = False _
Or IsNumeric(Text2.Text) = False _
Then
MsgBox "请输入有效数字。"
Exit Sub
End If
MsgBox "它们的最大公约数:" & _
MaxModNum(Text1.Text, Text2.Text)
End Sub

第二题:
一个Command。
Option Explicit
Private Sub MyFunc _
(ByVal n As Integer, ByRef Sum As Long)
Dim a, ts As Long
Sum = 0
Do While n > 0
ts = 1
For a = 1 To n
ts = ts * a
DoEvents: Next
Sum = Sum + ts
n = n - 1
DoEvents
Loop
End Sub
Private Sub Command1_Click()
Dim Sum As Long
MyFunc 5, Sum
MsgBox Sum
End Sub