用vb function 函数编写了一个判断一个数是否为素数的代码,怎么无论输入什么数,结果都是0素数。求解

2024-11-14 23:51:00
推荐回答(2个)
回答1:

首先题主的自定义函数部分没有问题,判断过程很简洁

问题在于,对自定义函数的参数传递存在误解

在自定义函数中定义的形式参数x,只是一种形式而已,在实际调用这个函数的时候是不需要在重新定义一个相同的x的,只需要把实际参数z传递给函数既可以,做如下修改就好了

Private Function isprise(x As Integer) As Integer
Dim i As Integer

For i = 2 To x - 1
    If x Mod i = 0 Then
        Exit For
    End If
Next i

If i >= x Then
    isprise = 1
Else
    isprise = 0
End If
End Function

Private Sub Command1_Click()
Dim z As Integer
z = InputBox("enter dater")

If isprise(z) = 1 Then
    Print z; "是素数"
Else
    Print z; "不是素数"
End If
End Sub

如有疑问,请继续追问,乐意解答,嘿嘿!

回答2:

你的InputBox("enter dater")返回的值赋给了z,后面的所在判断又是用x