用“for”语句编写程序“输入一个数ABCD,判断其是否符合(AB+CD)(AB+CD)=ABCD”ABCD是据我理解应该是指从1000到9999这之间的数,即四位数.而AB应该是这四位数的前两位 CD同理 Private Sub Command1_Click()Dim i As IntegerFor i = 1000 To 9999Next ia = i \ 100b = i - a * 100If i = (a + b) * (a + b) ThenPrintElsePrint "没有符合条件的数"End IfEnd Sub不知道是哪里错了呢

问题描述:

用“for”语句编写程序“输入一个数ABCD,判断其是否符合(AB+CD)(AB+CD)=ABCD”
ABCD是据我理解应该是指从1000到9999这之间的数,即四位数.而AB应该是这四位数的前两位 CD同理
Private Sub Command1_Click()
Dim i As Integer
For i = 1000 To 9999
Next i
a = i \ 100
b = i - a * 100
If i = (a + b) * (a + b) Then
Print
Else
Print "没有符合条件的数"
End If
End Sub
不知道是哪里错了呢

楼上的,你写的好像是C代码的思路,如果用VB的话应该注意取整.
下面是VB的代码
Private Sub Command1_Click()
Dim a As Integer,b(1) As Long,c As String
For a = 1000 To 9999 Step 1
b(0) = Int(a / 100)
b(1) = Int(a Mod 100)
If (b(0) + b(1)) * (b(0) + b(1)) = a Then
c = c & CStr(a) & " "
End If
Next a
If c = "" Then
MsgBox "没有满足要求的数.",vbOKOnly
Else
MsgBox "满足要求的数为:" & c & " .",vbOKOnly
End If
End Sub