( 單選,填字母: A.Form1.Caption=““/B.Form1.Text=““/C.Form1.Clear) (2)實(shí)現(xiàn)上述功能的 VB 程序如下,請?jiān)跈M線處填入合適的代碼。 (3)程序中加框處代碼有錯,請改正。 Private Sub Command1_Click
Dim n As Integer,st As Integer,now As Integer,ans As String,i As Integer Dim key(20)As Integer,nxt(20)As Integer n=Val(Text1.Text)'從文本框中讀入數(shù)列到 key 數(shù)組的代碼略 st=1 ①
Do While i<=n If key(st)>key(i) Then nxt(i)=st st=i Else now=st:flag=1 Do While nxt(now)<>0
If key(nxt(now))>key(i) Then nxt(i)=nxt(nxt(now)) nxt(now)=i flag=0 Exit Do End If ②
Loop If flag=1 Then nxt(now)=i End If End If i=i+1 Loop now=st Do While nxt(now)<>0
。 (2)實(shí)現(xiàn)上述功能的 VB 程序如下,請?jiān)跈M線處填入合適的代碼。 Function max5(a As Integer,b As Integer,c As Integer,d As Integer,e As Integer) As Integer'求五個數(shù)字中的最大值 If a>b Then max5=a If c>max5 Then max5=c If d>max5 Then max5=d If e>max5 Then max5=e End Function Function max2(a As Integer,b As Integer)As Integer'求兩個數(shù)字中的最大值 If a>b Then max2=a Else max2=b End Function Private Sub Command1_Click
Dim s As String,rec As Integer,n As Integer,i As Integer Dim f(1 To 100)As Integer'f(i)表示第 i 輪采用方案一時,前 i 輪總共能獲得的最大獎勵值Dim g(1 To 100)As Intcger'g(i)表示第 i 輪采用方案二時,前 i 輪總共能獲得的最大獎勵值Dim h(1 To 100)As Integer'h(i)表示第 i 輪采用方案三時,前 i 輪總共能獲得的最大獎勵值Dim a(1 To 100)As Integer'a(i)表示第 i 輪的基礎(chǔ)獎勵值 s=Text1.Text+“,“n=0:rec=0 For i=1 To Len(s) If Mid(s,i,1)=“,“Then n=n+1 a(n)=①
rec=i End If Next i f(1)=a(1):g(1)=a(1)-5:h(1)=a(1)\3 f(2)=max2(f(1)+a(2),g(1)+a(2)*2) g(2)=max2(f(1)+a(2)-5,g(1)+(a(2)-5)*2) h(2)=②
For i=3 To n f(i)=max5(f(i-1)+a(i),g(i-1)+a(i)*2,h(i-2)+a(i-1)+a(i)*3,h(i-2)+a(i-1)-5+a(i)*6,g(i-2)+(a(i-1)-5)*2 +a(i)*2) g(i)=max5(f(i-1)+a(i)-5,g(i-1)+(a(i)-5)*2,h(i-2)+a(i-1)+(a(i)-5)*3,h(i-2)+a(i-1)-5+(a(i)-5)*6,g(i-2)+(a(i-1)-5)*2+(a(i)-5)*2) h(i)=max5(f(i-1)+a(i)\3,g(i-1)+(a(i)\3)*2,h(i-2)+a(i-1)+(a(i)\3)*3,h(i-2)+a(i-1)-5+(a(i)\3)*6,g(i-2)+(a(i-1)-5)*2+(a(i)\3)*2) Next i Label1.Caption=“最大總獎勵值“+③