以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]自定义函数  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39444)

--  作者:loongtai
--  发布时间:2013/8/24 14:52:00
--  [求助]自定义函数
我做了一个小的自定义函数:“求约数”,可在命令窗口中来试用时却出现错误。

图片点击可在新窗口打开查看此主题相关图片如下:截图01.png
图片点击可在新窗口打开查看

自定义函数代码:
Dim a As Integer=Args(0)
Dim b() As Integer
Dim an As Integer
If a>0 And cint(a)=cdbl(a) Then
    For  i As Integer=2 To math.ceiling(math.sqrt(a))
        If a Mod i=0 Then
            b(an)=i
            b(an+1)=a\\i
            an=an+2
            output.show(b(an) &"," & b(an+1) & vbcrlf )
        End If
    Next
Else
    MessageBox.show("求解的数必须是正整数!")
End If
[此贴子已经被作者于2013-8-24 14:58:44编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/8/24 14:57:00
--  

其实除了抓图,还应该直接贴出这个函数的代码,否则别人要帮你,还得给你敲这一段代码,而且敲得也不一定正确。

 

要不你用下面的方法,看看哪一行代码出错:

http://www.foxtable.com/help/topics/1485.htm

 

然后分析原因。

[此贴子已经被作者于2013-8-24 14:56:46编辑过]

--  作者:lsy
--  发布时间:2013/8/24 15:47:00
--  
Dim a As Integer = 136161 \'Args(0)
Dim b(99999) As Integer
Dim an As Integer = 0
If a > 0 And CInt(a) = CDbl(a) Then
    For i As Integer = 2 To Math.Ceiling(Math.Sqrt(a))
        If a Mod i = 0 Then
            b(an) = i
            b(an + 1) = a\\i
            Output.Show(b(an) & "," & b(an + 1))
        End If
    Next
Else
    MessageBox.Show("求解的数必须是正整数!")
End If
[此贴子已经被作者于2013-8-24 15:52:56编辑过]