Private Sub Command1_Click()
Cls
Dim c1 As Byte 'text2中输入的第一个数
Dim c2 As Byte 'text2中输入的第二个数
Dim a() As Byte 'text1中的每一位数
Dim b As String '存储text1或text2中提取的每一个符号
Dim changdu As Long '记录text1的位数,是多少位数
Dim i As Long '循环控制变量
changdu = Len(Text1.Text) 'len函数获得text1中的字符个数
ReDim a(changdu) 'a数组中元素的个数和text1中字符的个数是一样多的
'for的作用是将text1中的字符从第一个开始一直到最后一个,提取到b中,
'并变换b,最终存储到对应的a数组元素中
For i = 1 To changdu
b = Mid(Me.Text1.Text, i, 1)
a(i) = Int(Val(b))
Next i
'
b = Mid(Me.Text2.Text, 1, 1)
c1 = Int(Val(b))
b = Mid(Me.Text2.Text, 2, 1)
c2 = Int(Val(b))
Dim rm As Byte '一次微乘法运算的中间结果
Dim r() As Byte '存放c1乘以a中元素的结果
ReDim r(changdu)
'd1,d2存放高位乘法的进位
Dim d1 As Byte
Dim d2 As Byte
Dim d As Byte '存放每一次乘法的进位,0
'从最后一个开始运算,所以用C2开始
For i = changdu To 1 Step -1
rm = a(i) * c2 + d
r(i) = rm Mod 10
d = rm \ 10
Next i
d1 = d
If d1 <> 0 Then
Print d1;
End If
For i = 1 To changdu
Print r(i);
Next i
'c1
d = 0
Dim rr() As Byte
ReDim rr(changdu)
For i = changdu To 1 Step -1
rm = a(i) * c1 + d2
rr(i) = rm Mod 10
d2 = rm \ 10
Next i
If d2 <> 0 Then
Print d2;
End If
For i = 1 To changdu
Print rr(i);
Next i
'求和
'Dim d As Byte
For i = changdu - 1 To 1 Step -1
'r(i) = r(i) + rr(i + 1) + d
rm = r(i) + rr(i + 1) + d
r(i) = rm Mod 10
d = rm \ 10
Next i
rm = rr(1) + d1 + d
d1 = rm Mod 10
d = rm \ 10
d = d2 + d
'Print d & d1;
Print d;
Print d1;
For i = 1 To changdu
Print r(i);
Next i
End Sub