毛衣中长款外套:visual basic

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 05:15:08
Private Sub Command1_Click()
Dim a As Integer, m As Integer, n As Integer
Dim i As Integer
For i = 100 To 999
a = (i Mod 100) Mod 10
m = ((i - a) Mod 100) / 10
n = (i - 10 * m - a) / 100
If i = Sqr(a) + Sqr(m) + Sqr(n) Then
Text1.Text = Str(i)
End If
Next i
End Sub
哪个高手帮我看看哪错了。。。啊 在线等!!谢了

你使用Str 函数,其返回代表一数值的 Variant (String),属字符型。但i = Sqr(a) + Sqr(m) + Sqr(n)中的+号在纯字符连接时可用,涉及数字形式的字符连接时有时会出错,应改为&号.此外变量i被定义为Integer 类型,属数值形式变量,所以必需将Sqr(a) & Sqr(m) & Sqr(n)数字字符串用VAL函数返回为数值.修改代码如下:

Option Explicit
Dim a As Integer
Dim m As Integer
Dim n As Integer
Dim i As Integer

Private Sub Command1_Click()
For i = 100 To 999
a = (i Mod 100) Mod 10
m = ((i - a) Mod 100) / 10
n = (i - 10 * m - a) / 100
If i = Val(Sqr(a) & Sqr(m) & Sqr(n)) Then
Text1 = Str(i)
End If
Next i
End Sub

你要干什么,写清楚

是求水仙花数吧
那你提取三位数各位数字的代码是不对的
这个试试
a=i\100
b=(i mod 100 )\ 10
c=i mod 10