VB 冒泡程序

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:07:49
Dim i As Integer
Dim j As Integer
Dim a As Integer
Private Sub Command1_Click()
For i = 1 To 5
For j = 1 To i - 1
x = a(i)
x = InputBox("请输入")
For j = 1 To i - 1
If a(i) < a(i + j) Then
temp = a(i)
a(i) = a(i + j)
a(i + j) = temp
End If
Next j
next i
大家帮我看看哪里错啦啊?谢谢大家啦

1、从内容上看,a是数组名,那么第三行应该为:Dim a(5) As Integer
2、x = a(i) ,x = InputBox("请输入") 两行你似乎想给a数组个元素赋值?但方向搞错了。应该是 a(i) = cint(InputBox("请输入"))
3、For j = 1 To i - 1 ,x = a(i) ,x = InputBox("请输入") ,For j = 1 To i - 1 前一个j的循环没有结束,里面有出现一个!这里难改
4、建议你以后法代码,每行要写明这一行你想干啥

我的代码如下:
Dim i As Integer
Dim j As Integer
Dim a(5) As Integer
Private Sub Command1_Click()
For i = 1 To 5
a(i) = CInt(InputBox("请输入"))
Next i
For i = 1 To 4
For j = i + 1 To 5
If a(i) < a(j) Then
temp = a(i)
a(i) = a(j)
a(j) = temp
End If
Next j
Next i
For i = 1 To 5
Print a(i)
Next i
End Sub

下面是一些书写错误:
1、a(i)数组没有定义,正确为:dim a(5) as integer
2、for循环结构出现了三次,而next只出现了2次,结构少next
3、第2个和第3个for中的j重复,不能同时出现。
4、
x = a(i)
x = InputBox("请输入") 两句放在一块,重复二次赋值,不知道你想赋那个值。

5、Dim i As Integer
Dim j As Integer
Dim a As