VB编程,找出所有的“水仙花数”。

VB编程,找出所有的“水仙花数”。
“水仙花数”是指一个3位数,其各位上数字的立方之和等于这个数的本身。
hui122333 1年前 已收到1个回答 举报

sshss 幼苗

共回答了18个问题采纳率:94.4% 举报

这个程序在VB中与VC中是有些些不同的,因为VC中当定义每位为整型时,它不会有四舍五入规则的,而VB中则不同。比如:VC中(153/100)%10=1,而VB中它算出来的为2,所以注意这个就可以了。在VB中就先从个位判断,是否超过或等于5,是的话就让它减去0.5,不是的话直接操作。VB中程序如下:一个按钮,一个标签就可以了。Dim m As IntegerDim m1 As IntegerDim m2 As IntegerDim m3 As Integer'm,m1,m2,m3最好是分开定义不然会出现ByRef参数类型不符的错误Dim str As StringPrivate Sub Command1_Click()For m = 100 To 999m3 = m Mod 10If m3 >= 5 Thenm2 = (m / 10 - 0.5) Mod 10'因为当个位数大于5时,m/10会进一位,即十位会比原来的数据多1,所以要把这个四舍五入的位取消五入规则Elsem2 = (m / 10) Mod 10End IfIf m2 >= 5 Thenm1 = m / 100 - 0.5'原因同上Elsem1 = m / 100End IfIf ((cubic(m1) + cubic(m2) + cubic(m3)) = m) Thenstr = str + CStr(m) + vbCrLf'把每计算出的数据存到str中,并换行Label2.Caption = strEnd IfNext mEnd SubFunction cubic(data As Integer) As Doublecubic = data * data * dataEnd Function 结果如下图:

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.030 s. - webmaster@yulucn.com