依據對分查找思想,設計一個在數組a中查找最小值,并輸出在Text1中的程序,實現該功能的VB程序如下,但加框處代碼有錯,請改正。 Private Sub Command1_Click ( ) Const n=6 Dim a(1 To n) As Integer Dim i As Integer,j As Integer,m As Integer ’讀取數據,按上述規則存入數組a中,代碼略 i=1:j=n If Then Text1.Text=Str(a(i))'(1) Do While i<=j m=(i+j)\2 If a(m)<a(j) Then Else i=m+1 End If Loop Text1.Text=a(j) End Sub
。 (2)實現上述功能的VB代碼如下,請在橫線處填入適當的代碼: Private Sub Command1_Click ( ) Dim a(1 To 50)As String Dim n As String,step1 As Boolean,step2 As Boolean Dim i As Integer,length As Integer,zero As Integer,cnt As Integer n=Text1.Text length=Len(n) '將數字串n從右往左依次存儲在數組a中。 For i=1 To length a(i)=①
Next i step1=True:step2=False'step1對應步驟①,step2對應現步驟② zero=0:cnt=1 For i=1 To length If step1=True Then If a(i)=“0“Then zero=zero+1 Else ②
If zero>0 Then a(cnt)=a(i) a(i)=“0“ End If step1=False step2=True End If ElseIf step2=True Then If a(i)=“9“Then If zero=0 Then t=a(cnt+1):a(cnt+1)=a(cnt):a(cnt)=t cnt=cnt+1 If i<>cnt Then a(i)=a(i-1) End If Else ③
a(cnt)=“9“ a(i)=“0“ cnt=cnt+1 End If Else a(i)=a(i)+1 step2=False Exit For End If End If Next i '最前面補“1“ If step2 Then length=length+1 a(length)=“1“ End If '輸出結果,代碼略。 End Sub