個。 (2)實現上述功能的VB程序如下,請在橫線處填入合適的代碼。 (3)程序中加框處代碼有錯,請改正。 Dim a(1 To 13)As Integer,b(1 To 13)As Integer Const ph=“34567890JQKA2“ Private Sub Command1_Click ( ) Randomize s=““ For i=1 To 13 a(i)=Int(Rnd*13+1) s=s+Mid(ph,①
,1) If i<>13 Then s=s+“,“ ②
Next i Text1.Text=s k=1:Max=0:s=““ For i=4 To 13 If b(i)>0 And b(i-1)>0 Then k=k+1 If k>Max Then Max=k:org=③
End If Else k=1 End If Next i For j=org To org+Max-1 s=s+ If j<>org+Max-1 Then s=s+“,“ Next j Text2.Text=s For i=1 To 13 b(i)=0 Next i End Sub
分。 (2)實現上述功能的VB程序如下,請在橫線處填入合適的代碼。 Private Sub Command1_Click ( ) Const n=10 Dim a(1 To n*n)As Integer,b(1 To 2^n)As Integer Dim p(1 To 2^n)As String,s1 As String Dim i As Integer,j As Integer,k As Integer,max As Integer Dim t As Integer,s As Integer,f As Integer Randomize t=Val(Text1.Text) For i=1 To t'第i秒時,地鼠探出腦袋的洞口為j j=Int(Rnd*n+1) ①
List1.AddItem Str(i) &Str(j) Next i s1=““ For i=1 To t*n s1=s1+Str(a(i)) If i Mod n=0 Then List2.AddItem s1:s1=““ Next i b(1)=Val(Text2.Text) For i=1 To n'計算錘子在a矩陣移動的路徑,并存放在p數組 k=1'k為正則向右移動錘子,k為負則向左移動錘子 For j=2^i To 1 Step-1 b(j)=b((j+1)\2)+k If b(j)<1 Or b(j)>n Then b(j)=b(j)-2*k p(j)=p((j+1)\2)+CStr( ②
)'CStr功能類似Str k=-k Next j Next i max=0 For i=1 To 2^n f=0:s=0:j=1 Do While j<=Len(p(i)) If Val(Mid(p(i),j,1))>0 Then ③
Else s=s+f:f=0 End If j=j+1 Loop If f>0 Then s=s+f If max<s Then max=s Next i Label1.Caption=“最多能得“+Str(max)+“分“ End Sub