大侠们,这道VB编程是什么意思?在线等答案
Private Sub Command2_Click()
Dim b(100) As Integer
num = 0
If Len(Text1.Text) = 0 Then
MsgBox "请先执行“读数据”功能!"
Else
For i = 1 To 100
If a(i) Mod 3 = 0 Then
num = num + 1
b(num) = a(i)
End If
Next i
For j = 1 To num
For k = j + 1 To num
If b(j) > b(k) Then
t = b(j)
b(j) = b(k)
b(k) = t
End If
Next k
Next j
For i = 1 To num
Text2.Text = Text2.Text + Str(b(i)) + Space(2)
Next i
End If
End Sub
For j = 1 To num
For k = j + 1 To num
尤其是这2句。。这个J和K的取值范围为什么要这么写?K的取值干嘛要加上J的啊?
答案:For j = 1 To num
For k = j + 1 To num
If b(j) > b(k) Then
t = b(j)
b(j) = b(k)
b(k) = t
End If
Next k
Next j
这段代码很明显是冒泡法排序,外层循环每循环一次就有一个数排序好了。外层循环控制排序的
次数,内层循环控制每次排序需要对比的次数。。。
其他:这个没人能猜出来。因为a()的内容完全不知道。
上一个:vb 要求生成50个100以内的互不重复的整数,可是答案给出的看不懂
下一个:vb 当想做这样一个程序,高手速来