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

“水仙花数”是指一个3位数,其各位上数字的立方之和等于这个数的本身。... “水仙花数”是指一个3位数,其各位上数字的立方之和等于这个数的本身。 展开
 我来答
luwrong110
2011-11-08 · 超过20用户采纳过TA的回答
知道答主
回答量:33
采纳率:100%
帮助的人:45.2万
展开全部

这个程序在VB中与VC中是有些些不同的,因为VC中当定义每位为整型时,它不会有四舍五入规则的,而VB中则不同。比如:VC中(153/100)%10=1,而VB中它算出来的为2,所以注意这个就可以了。在VB中就先从个位判断,是否超过或等于5,是的话就让它减去0.5,不是的话直接操作。

VB中程序如下:一个按钮,一个标签就可以了。

Dim m As Integer

Dim m1 As Integer

Dim m2 As Integer

Dim m3 As Integer    'm,m1,m2,m3最好是分开定义不然会出现ByRef参数类型不符的错误

Dim str As String

Private Sub Command1_Click()

For m = 100 To 999

    m3 = m Mod 10

    If m3 >= 5 Then

       m2 = (m / 10 - 0.5) Mod 10  '因为当个位数大于5时,m/10会进一位,即十位会比原来的数据多1,所以要把这个四舍五入的位取消五入规则

    Else

       m2 = (m / 10) Mod 10

    End If

    

    If m2 >= 5 Then

       m1 = m / 100 - 0.5      '原因同上

    Else

       m1 = m / 100

    End If

    

    If ((cubic(m1) + cubic(m2) + cubic(m3)) = m) Then

       str = str + CStr(m) + vbCrLf  '把每计算出的数据存到str中,并换行

       Label2.Caption = str

    End If

Next m

End Sub

Function cubic(data As Integer) As Double

cubic = data * data * data

End Function 

结果如下图:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式