vb数组题
提问:vb数组题
2.下列程序是先产生20个不同的随机数,并存于数组a中,然后用比较法(冒泡法)值数据按升序排序输出,请补充完程序。Private Sub Form Click()Dim a(1 To 20) As Integer, i,j, t, x, yesFor i=1 To 20Dox= Int(Rnd *90)+10yes=0For j=1 To ( 填空1)If x= a(j) Then yes =1: Exit ForNext jLoop While (填空2)a (i)=(填空3)Next iFor i=1 To 19For (填空4) To 20If a(i) > a(j) Then (填空5)Next jNext iFor i =1 To 20Print a(i);Next iEnd sub下面的程序是产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。Public Sub Calculate()Dim x(1 To 10) As Integer, A(1 To 100)As IntegerDim P As Integer, J As IntegerFor J =1 To 100A(J)=(填空6)P=A(J) - Int(A(J) / 10 )*10If P =0 Then (填空7)X(P)=X(P)+1Next JForm1. Print"个位数的个数”For J =1 To 10(填空8)If J =10 Then (填空9)Form1. Print "个位数是” &Ps& "有”& X(J) &"有个数"Next JEnd sub
网友回答:
1.程序参考
Private Sub Form_Click()
Dim a(1 To 20) As Integer, i, j, t, x, yes
For i = 1 To 20
Do
x = Int(Rnd * 90) + 10
yes = 0
For j = 1 To 20
If x = a(j) Then yes = 1: Exit For
Next j
Loop While yes = 1
a(i) = x
Next i
For i = 1 To 19
For j = i + 1 To 20
If a(i) > a(j) Then t = a(i): a(i) = a(j): a(j) = t
Next j
Next i
For i = 1 To 20
Print a(i);
Next i
End Sub
2。
Public Sub Calculate()
Dim x(1 To 10) As Integer, A(1 To 100) As Integer
Dim P As Integer, J As Integer
For J = 1 To 100
A(J) = Rnd * 100
P = A(J) - Int(A(J) / 10) * 10
If P = 0 Then P = 10
x(P) = x(P) + 1
Next J
Form1.Print "个位数的个数”"
For J = 1 To 10
P = J
If J = 10 Then Ps = 0
Form1.Print "个位数是" & P & "; 有; " & x(J) & "; 有个数; "
Next J
End Sub