VB程序设计-多种方法求阶乘

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB程序设计-多种方法求阶乘
(作者:草原飞狼 2014年5月26日)
声明:仅供学习与交流使用,高手请飘过,谢谢!所有代码都是个人亲自编写并调试成功。

布局
运行界面(1)
运行界面(2)
源代码如下:
Private Sub Command1_Click()
Rem 求任意数阶乘,不大于171
Dim mul As Double
Dim i As Integer
Dim k As Integer
mul = 1 '赋初值
k = Val(InputBox("请输入一个正整数,不大于171!", "输入提示", "5")) Rem 以下算法是求指定数的阶乘,典型的算法
For i = 1 To k
mul = mul * i
Next i
Print k & "的阶乘结果是:"; mul
End Sub
Private Sub Command2_Click()
Rem 清空
Form1.Cls
End Sub
Private Sub Command3_Click()
Rem 退出
Unload Me
End Sub
Private Sub Command4_Click()
Rem 普通过程求阶乘
Dim mul As Double
Dim i As Integer
Dim k As Integer
mul = 1 '赋初值
k = Val(InputBox("请输入一个正整数,不大于171!", "输入提示", "5"))
Rem 以下算法是求指定数的阶乘
Call fac(k) '函数调用,注意调用方法
Print k & "的阶乘结果是:"; fac(k)
End Sub
Private Function fac(ByVal k As Integer) As Double 'byval表示参数按值传递Rem 普通的函数过程
Dim i As Integer
Dim mul As Double
mul = 1
For i = 1 To k
mul = mul * i
Next i
fac = mul '结果返回给函数,典型的用法End Function
Private Sub Command5_Click()
Rem 递归过程求阶乘
Dim i As Integer
Dim k As Integer
Dim mul As Double
mul = 1 '赋初值
k = Val(InputBox("请输入一个正整数,不大于171!", "输入提示", "5"))
Rem 以下递归函数的调用
Call fac_digui(k)
Print k & "的阶乘结果是:"; fac_digui(k)
End Sub
Private Function fac_digui(ByVal k As Integer) As Double
Rem 递归过程求阶
Rem 以下是递归算法求阶乘,注意写法,编写递归算法时,方法类似
If k = 1 Then
fac_digui = 1
Else
fac_digui = fac_digui(k - 1) * k
End If
End Function。

相关文档
最新文档