。 Dim a(1 To 9)As Integer Private Sub Command1_Click ( ) Dim column As Integer,row As Integer,t As Integer,tmp As Integer Dim s As String,ch As String,result As String s=Text1.Text:result=““ For i=1 To Len(s) ch=Mid(s,i,1):t=①
column=(t-1)Mod 3+1 Do While t>=3 t=t\3 Loop row= tmp=(Asc(ch)+②
-65)Mod 26+65 result=result+Chr(tmp) Next i Text2.Text=result End Sub Private Sub Form_Load ( )'用來生成3*3矩陣 For i=1 To 9 a(i)=Int(Rnd*9)+1 s=s+Str(a(i)) If i Mod 3=0 Then List1.AddItem s s=““ End If Next i End Sub
15.某校跳高比賽計分規則如下:每個高度每位選手最多試跳三次,成功記為1,失敗或輪空記為0。如選手第一次試跳成功記為100,第二次試跳成功記為010,第三試跳成功記為001,三次失敗則終止比賽。編寫VB程序統計選手積分,在文本框Text1中輸入姓名和成績,在列表框List1中輸出結果,其算法如下:1.將每個選手的跳高記錄三位一組轉換成十進制數存儲到數組a (該數組元素的值都不相同)。2.先比較數組a中各數組元素的長度,長度長的排名在前;若長度相同的情況下從后往前依次比較字符大小,當前數值大的排名在前。程序運行界面如圖所示: 請在橫線處填入合適的代碼。 Dim a(1 To 9)As String'存儲跳高成績 Dim b(1 To 9)As String'存儲學生姓名 Dim c(1 To 9)As Integer Private Sub Command1_Click ( ) Dim ch As String,tmp As Integer,t As Integer Dim p As Integer,k As Integer,i As Integer,j As Integer Dim s As String s=Text1.Text:t=0 For i=1 To ①
If Mid(s,i,1)<>“/“Then ch=ch+Mid(s,i,1) Else t=t+1 If t Mod 2=0 Then a(t\2)=zh(ch) Else ②
End If ch=““ End If Next i For i=1 To t\2 c(i)=i Next i For i=1 To t\2-1 p=i For j=i+1 To t\2 If Len(a(c(p)))<Len(a(c(j)))Then p=j ElseIf Len(a(c(j)))=Len(a(c(p)))Then k=Len(a(j)):flag=True Do While k>=1 And flag If Val(Mid(a(c(j)),k,1))>Val(Mid(a(c(p)),k,1))Then p=j flag=false ElseIf val(Mid(a(c(j)),k,1))=val(Mid(a(c(p)),k,1))Then k=k-1 Else flag=False End If Loop End If Next j If p<>i Then tmp=c(i):c(i)=c(p):c(p)=tmp End If Next i For i=1 To t\2 ③
Next i End Sub Function zh(cm As String)As String Dim temp As String Dim i As Integer,j As Integer For i=1 To④
For j=1 To 3 temp=temp*2+Val(Mid(cm,(i-1)*3+j,1)) Next j zh=zh+CStr(temp)'CStr函數可把表達式轉換為字符串類型 temp=0 Next i End Function