24小时热门版块排行榜    

查看: 978  |  回复: 5

zyj8119

木虫 (著名写手)

[求助] 一个VB工程的问题

CODE:
Option Explicit
Option Base 1


Private Sub Command1_Click()
   Dim i As Integer, a() As Integer, flag As Boolean, n As Integer
   Dim j As Integer, str As String
   For i = 153 To 9999
   flag = False
   Call ast(i, flag, a, n)
   str = " "
   If flag Then
      str = str & "="
      For j = 1 To UBound(a) - 1
        str = str & a(j) & "^" & n & "+"
      Next j
      str = str & a(j) & "^" & n
      List1.AddItem str
   End If
Next i
End Sub

Private Sub ast(ByVal k As Integer, flag As Boolen, b() As Integer, n As Integer)
   Dim i As Integer, s As Integer, m As Integer
   n = Len(CStr(k))
   m = k
   ReDim b(n)
   For i = n To i Step -1
      b(i) = k Mod 10
      k = k \ 10
   Next i
   For i = 1 To n
       s = s + b(i) ^ n
   Next i
   If s = m Then falg = True
End Sub

此段代码无法运行,图画是界面,请高手指教。。。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hellovirus

金虫 (小有名气)


jjdg(金币+1): 感谢参与 2011-10-13 01:04:18
在两段程序中i做为计数器,
设置出现问题,
因为不知道你ast这段程序的目的,所以不能写出来你想要的程序。

***************************
   For i = n To      i       Step -1
**************************
我估计这句中的第二个 i  有问题,是1或者k就能正常运行了。
㊣『*深度技术论坛*』㊣
2楼2011-10-12 23:06:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

引用回帖:
2楼: Originally posted by hellovirus at 2011-10-12 23:06:51:
在两段程序中i做为计数器,
设置出现问题,
因为不知道你ast这段程序的目的,所以不能写出来你想要的程序。

***************************
   For i = n To      i       Step -1
*********************** ...

Private Sub ast(ByVal k As Integer, flag As Boolen, b() As Integer, n As Integer)
这一句显示用户类型未定义是什么意思?
好好学习,天天向上。
3楼2011-10-12 23:09:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hellovirus

金虫 (小有名气)

★ ★
jjdg(金币+2): 感谢参与 2011-10-13 01:04:30
我晕,你的程序中有两个错误,
我以为你知道了,是你打错 了!!
********************
Private Sub ast(ByVal k As Integer, flag As Boole a  n, b() As Integer, n As Integer)
******************
少了个a ,你最好用VB的自动补全,
下面还有个错误 ,
************************
   If s = m Then falg = True
End Sub
*************************
不是falg,应该是flag
㊣『*深度技术论坛*』㊣
4楼2011-10-12 23:27:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


zyj8119(金币+5): 谢谢建议。 2011-10-13 10:05:40
xzhdty(金币+1): 欢迎常来 2011-10-13 11:48:04
153 To 9999等于自身所有数字幂次的和?
hellovirus 朋友说的对的,
for i = n to i step -1
你的循环变量和循环截止条件都是i?不行吧
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2011-10-13 01:05:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖


zyj8119(金币+5): 谢谢建议。。 2011-10-13 10:05:27
xzhdty(金币+1): 欢迎讨论 2011-10-13 11:47:48
问题较多,文字错误有好几处。楼上的说的也对。
后面的过程改成:
Private Sub ast(ByVal k As Integer, flag As Boolean, b() As Integer, n As Integer)
   Dim i As Integer, s As Integer, m As Integer
   
   n = Len(CStr(k))
   m = k
   ReDim b(n)
   For i = n To 1 Step -1
      b(i) = k Mod 10
      k = k \ 10
   Next i
   For i = 1 To n
       s = s + b(i) ^ n
   Next i
   If s = m Then flag = True
End Sub
==================
运行即可出结果。
6楼2011-10-13 09:31:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
信息提示
请填处理意见