VB数组排列的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 13:53:46
5个人 成绩要从高到低 但是学号也要跟着排要怎么排?
学号 成绩
1 2 4 9
2 3 变成 5 8
3 1 2 3
4 9 1 2
5 8 3 1
格式不行
反正就是 学号 1,2,3,4,5 成绩不一样
但是成绩从高到低 成绩跟的学号也要变 二维的怎么变?

这样做.
Private Type CJ '创建一个自定义数据类型
XueHao As Integer '类型包含:学号
ChengJi As Integer '类型包含:成绩
End Type

Private Sub Command1_Click()

Dim a(4) As CJ '定义数组a为自定义类型
Dim px As CJ, i%, j%, k% '排序用变量

'赋初值
For i = 0 To 4
a(i).XueHao = i + 1 '为数组a赋学号初值
a(i).ChengJi = Int(100) * Rnd '为数组a赋成绩初值(用随即成绩)
Next

'以成绩为基础按从大到小的顺序排序
For i = 0 To 3
k = i
For j = i + 1 To 4
If a(k).ChengJi < a(j).ChengJi Then k = j
Next j
px = a(i): a(i) = a(k): a(k) = px
Next i

'将排序完成的数组a打印到窗体上.
For i = 0 To 4
Print a(i).XueHao; a(i).ChengJi
Next

End Sub

弄个二维数组哈

排“成绩”的时候, 也 顺便 调整“学号”

Dim myArray(5,1)'一维记学号,二维记成绩
Dim XH, CJ'学号,成绩 临时变量
'排序算法?
'处理n位置
XH = myArray(n,0)'
CJ = myArray(n,1)
'处理m位置
myArray(n,0) = XH
myArray(n,1) = CJ