一段求阶乘的代码,,,可是算出来的结果老是1呀,大家帮我

honghuige 2003-09-10 10:03:57
Private Sub Command1_Click()
Dim num As Long
num = CLng(txtNum.Text)
Call factorial(num)
End Sub

Private Sub Form_Load()
txtNum.Text = ""
txtFactorial.Text = ""
End Sub

Private Sub txtNum_Change()
txtFactorial.Text = ""
End Sub

Private Sub factorial(mum As Long)
Dim result As Long
Dim ptr As Long
result = 1
For ptr = 1 To num
result = result * ptr
Next ptr
txtFactorial.Text = CStr(result)
End Sub
...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinhongyan 2003-09-10
  • 打赏
  • 举报
回复
问题出在这里
Private Sub factorial(mum As Long)
Dim result As Long
Dim ptr As Long
result = 1
'问题所在--mum拼写成了num
'For ptr = 1 To num
For ptr = 1 To mum
result = result * ptr
Next ptr
txtFactorial.Text = CStr(result)
End Sub

但是你这样求阶乘,真是问题多多,多的无法形容,建议看看数据结构和算法
honghuige 2003-09-10
  • 打赏
  • 举报
回复
我看不太明白,,代码给我
Random 2003-09-10
  • 打赏
  • 举报
回复
Private Sub factorial(num As Long)
建议在模块前加Option Explicit,或者通过工具菜单的选项子菜单
将“编辑”页中的强制声明变量选择项选中,就不至于犯这种错误了

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧