搜索
首页 电脑/网络 程序设计 VB

vb 中求100到1000之间的水仙花数.

  我写的程序,大家看看有什么错误?运行不了啊!!! Private Sub Form_Load()Dim a, b, c, i As Integer For i = 100 To 1000 a = i / 100 '百位上的数 b = (i / 10) Mod 10 '十位上的数 c = i Mod 10 '个位上的数 If 100 * a + 10 * b + c = a * a * a + b * b * b + c * c * c Then Print iEnd IfNext iEnd Sub。
  

全部回答

2006-01-04

0 0

    Private Sub Form_Load() 1,装载窗体时不能运行Print应改为form_click Dim a, b, c, i As Integer For i = 100 To 1000 a = i / 100 '百位上的数 2,你把整除符号记错了,此处应将"/"改为"\" b = (i / 10) Mod 10 '十位上的数 3,此处应改为b=(i-a*100)\10 c = i Mod 10 '个位上的数 If 100 * a + 10 * b + c = a * a * a + b * b * b + c * c * c Then Print i '因100 * a + 10 * b + c =i,可以简化程序改为i End If Next i End Sub 修改后为: Private Sub form_click() Dim a, b, c, i As Integer For i = 100 To 1000 a = i \ 100 '百位上的数 b = (i - a * 100) \ 10 '十位上的数 c = i mod 10 '个位上的数 If a ^ 3 + b ^ 3 + c ^ 3 = i Then Print i End If Next i End Sub 结果有5个,其中1000,a=10, b=0, c=0 10*10*10 + 0 =1000 。
    。

2006-01-03

    如果非要像兄弟说的那样的话, 不妨看一看这个程序 Private Sub Form_Load() Show Dim a, b, c, i As Integer For i = 100 To 1000 a = i \ 100 '百位上的数 b = (i \ 10) Mod 10 '十位上的数 c = i Mod 10 '个位上的数 If a * a * a + b * b * b + c * c * c = i Then Print i; End If Next i End Sub。
    。

2006-01-03

    因为在窗体编程下,print输出就不行了。 放一个Text控件,反正就只要能显示结果,随便你放什么样显示输出控件,这样就可以了。 Private Sub Form_Load() Dim a, b, c, i As Integer For i = 100 To 999 a = i \ 100 b = (i \ 10) Mod 10 c = i Mod 10 If i = a ^ 3 + b ^ 3 + c ^ 3 Then Text1。
    Text = Text1。Text + Str(i) + "," End If Next i End Sub 你的程序里有几点错误的地方,第一就是 / ,这个不是整除,153/100=1。
  53而不是1 ,因为在VB还有整除符号 \。 153\100=1; 所以 a和b都要改。   100*a+10*b+c 这一句话是多余的,因为它就是i。 a*a*a倒没有什么,不过因为VB里^本来就有这个幂运算符,可以写成a^3这样更好。
  

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
VB
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
程序设计
VB
数据库
C/C++
JAVA相关
C#/.NET
VC++
汇编语言
其他编程语言
VB
VB
举报
举报原因(必选):
取消确定举报