16.小王通過抽樣調查的方式,獲得了96人的信用分值(整數,大于349且小于950)。要求對其各個分段進行統計,并輸出分布最廣的3個分段及其個數和百分比,但不包含650-699這一段(此段為系統默認,屬于第7段)。分段說明:350~399分為第1段,400~449為第2段,450~499為第3段,以此類推,共分為12段。 實現上述功能的ⅤB程序代碼如下,但加框處代碼有錯,請改正。 Const n=96 Dim d(I To n)As Integer Private Sub Command1_ Click( ) Dim fd(1 To 12)As Integer'存儲每個分段內人數 Dim a(1 To 12)As Integer'存儲每個分段內人數的副本 Dim b(1 To 12)As Integer'存儲每個分段編號的副本 Dim i As Integer,j As Integer,t As Integer,k As Integer Dim p As Single,templ As Integer,temp2 As Integer Fori=1 To n '① fd(i)=fd(t)+1 Next i Fo i=I To 12 a(i)=fd(i):b(i)=i Next j For i=1 To 3'排序時第7段數據不參與排序 k=i For j=i+I To 12 IfThen k=j'② Next j Ifk◇i Then templ=a(i):a(i)=a(k):a(k)=templ emp2=b(i):b(i)=b(k):b(k)=temp。 End If Next i For i=1 To 3 p=Int(a(i)/n*1000+0.5)/10'百分比,保留一位小數 List.AddItem“分數段”+Str(b(i))+“個數”+Str(a(i))+“百分比”+Str(p)+“%” Next i End Sub Private Sub Form _Load( ) '獲取n個人的“信用分”,并存儲在數組d中 '代碼略 End sub
。 (2)請在橫線處填入合適的代碼。 Dima(1To100)As Integer'數組a存儲合并前的區間 Dimb(1To100 )As Integer'數組b存儲合并后的區間 Dim n as integer'n表示區間個數 Private Sub Command1_ Click( ) Dim sl As String,i As Integer '讀取數據,并存儲到數組a中,并輸出在文本框Text1中,代碼略 End Sub Private Sub Command2_ Click( ) Dim s2 As String,i As Integer,j As Integer,k As Integer Dim n As Integer,t as Integer,x As integer For i=1 To n-1 For j=1 To 2*n-2*Step 2 If
Then t=a(j):a(j)=a(j+2):a(j+2)=t t=a(j+1):a(j+1)=a(j+3):a(j+3)=t End If Next j Next i k=2 b(1)=a(1):b(2)=a(2) i=2:j=3 Do while j<=2*n If b(i)>=a(j)Then If b(i)<=a(j+1)Then
Elself b(i)+1=a(j) Then b(k)=a(j+1) Else k=k+1:
k=k+1:b(k)=a(j+1) End If j=j+2 Loop For x=1 To k-2 Step 2 s2=s2&“[“&b(x)&“,“&b(x+1)&““]&“]“,“ Next s2=s2&“[“&b(x)&“,“&b(x+1)&““]&“]“,“ Text2.Text=s2 End Sub