16.編寫VB程序,實現如下功能:在文本框Text1中輸入自然數n,單擊“生成隨機數”命令按鈕Command1,則生成n個[1,100]區間內的整數,并顯示在列表框List1中,單擊“計算”按鈕Command2,標簽Label4中輸出最大數及該數在數列中的位置,標簽Label6中輸出最小數及該數在數列中的位置,運行效果如下圖所示,程序代碼如下,但加框處代碼有錯,請改正。 Dim d(1 To 100)As Integer Dim n As Integer Private Sub Command1_Click ( ) Dim i As Integer Randomize n=Val(Text1.Text) For i=1 To n List1.AddItem Str(d(i)) Next i End Sub Private Sub Command2_Click( ) Dim i As Integer,min As Integer,max As Integer Dim maxpos As Integer,minpos As Integer max=d(1) For i=2 To n If max<d(i) Then max=d(i):maxpos=i If min>d(i) Then min=d(i):minpos=i Next i Label4.Caption=Str(max)+“位置:“+Str(maxpos) Label6.Caption=Str(min)+“位置:“+Str(minpos) End Sub
屬性設置為“輸入字串:”. (2)程序運行時,在Text1中輸入字符串,單擊“統計”按鈕,在List1中顯示統計結果.請在橫線處填入合適代碼. ‘函數IsLetter(x)功能,若x是字母,則返回值為字母x在字母序列“A”~“Z”中的序號,如字母“A”的序號為0,字母“D”的序號為3.若x不是字母,則返回值為-1. Function IsLetter(x As String) As Integer If“A“<=x And x<=“Z“Then IsLetter=Asc(x)-Asc(“A“) ElseIf“a“<=x And x<=“z“Then IsLetter=Asc(x)-Asc(“a“) Else
End If End Function Private Sub Command1_Click
Dim f(25)As Integer,m As Integer,n As Integer Dim s As String,c As String List1.Clear For m=0To 25‘初始化數組f f(m)=0 Next m s=Text1.Text For m=1To Len(s)‘依次讀取字符串中的每個字符進行判斷 c=Mid(s,m,1) n=IsLetter(c) If n<>-1Then f(n)=f(n)+1 Next m For m=0To 25‘輸出統計結果,沒有出現的字母不輸出 If
Then List1.AddItem (Chr(m+Asc(“a“)) &“:“& f(m)) End If Next m End Sub.