Dim a(100) As Integer
Dim temp As Integer
Private Sub Command1_Click()
Print "排序前"
Randomize
For i = 1 To 100
a(i) = Int(Rnd * 901 + 100)
Print a(i);
If i Mod 10 = 0 Then Print
Next i
Print "排序后"
For i = 1 To 100
For j = 1 To 100 - i
If a(j) > a(j + 1) Then
temp = a(j + 1)
a(j + 1) = a(j)
a(j) = temp
End If
Next j
Next i
For i = 1 To 100
a(i) = Int(Rnd * 901 + 100)
Print a(i);
If i Mod 10 = 0 Then Print
Next i
End Sub
追问哥们你这不太对啊
追答咋啦?哪里有问题呀?
追问我的意思是10*10 随机生成整数 然后排序 这些整数要求从小到大排,每行10个,比如说有:
就要变成这样的:
就是这样排序的
追答10*10是什么意思呢?100以内的两位随机数?
追问10行 10 列,抱歉我表达有问题... 然后每个数都要求是两位数
追答了解了。。。
Dim a(100) As Integer
Dim temp As Integer
Private Sub Command1_Click()
Print "排序前"
Randomize
For i = 1 To 100
a(i) = Int(Rnd * 90 + 10)
Print a(i);
If i Mod 10 = 0 Then Print
Next i
Print "排序后"
For i = 1 To 100
For j = 1 To 100 - i
If a(j) > a(j + 1) Then
temp = a(j + 1)
a(j + 1) = a(j)
a(j) = temp
End If
Next j
Next i
For i = 1 To 100
Print a(i);
If i Mod 10 = 0 Then Print
Next i
End Sub
是不是这样的呢?
追问要用二维数组,拜托了!大大!
追答Dim a(10, 10) As Integer
Private Sub command1_Click()
Cls
Print "排序前"
Randomize
For i = 0 To 9
For j = 0 To 9
a(i, j) = Int((90) * Rnd + 10)
Print a(i, j) & " ";
Next
Print
Next
End Sub
Private Sub Command2_Click()
Print
Print "排序后"
For i = 0 To (10 * 10 - 1)
For j = i + 1 To (10 * 10 - 1)
If a(i \ 10, i Mod 10) > a(j \ 10, j Mod 10) Then
t = a(i \ 10, i Mod 10)
a(i \ 10, i Mod 10) = a(j \ 10, j Mod 10)
a(j \ 10, j Mod 10) = t
End If
Next j
Next i
For i = 0 To 9
For j = 0 To 9
Print a(i, j);
Next j
Print
Next i
End Sub
那就是这样的咯?