代码:
Option Base 1
Private Sub Command1_Click()
Dim M As String
Dim N As String
M = Trim(Text1.Text)
N = Trim(Text2.Text)
Dim Number1() As Byte
Dim Number2() As Byte
ReDim Number1(Len(M))
ReDim Number2(Len(N))
Dim index As Byte
For index = 1 To Len(M) Step 1
Number1(index) = Mid(M, index, 1)
Next index
For index = 1 To Len(N) Step 1
Number2(index) = Mid(N, index, 1)
Next index
Dim Result() As Byte
ReDim Result(Len(M) + Len(N))
Dim MCarry As Byte
Dim ACarry As Byte
Dim Remainder As Integer
Dim i As Integer, j As Integer
Dim Mtemp As Integer, Atemp As Integer
For i = Len(N) To 1 Step -1
For j = Len(M) To 1 Step -1
Mtemp = Number1(j) * Number2(i) + MCarry
MCarry = Mtemp \ 10
Remainder = Mtemp Mod 10
Atemp = Remainder + Result(i + j) + ACarry
ACarry = Atemp \ 10
Result(i + j) = Atemp Mod 10
Next j
Result(i) = MCarry + ACarry
MCarry = 0
ACarry = 0
Next i
Dim Mstr As String
For index = 1 To Len(N) + Len(M)
Mstr = Mstr & Str(Result(index))
Next
Label3.Caption = Mstr
end sub
心得体会:开始计算较小两个数还可以,较大的数时自己以前的程序就不行了。上课时老师为我们讲的思想虽然很明白,可是落实的时候却出现了很多问题,不得不从别人那考了现成的自己体会,不过后来还是明白了。