VB数组排列的问题
5个人成绩要从高到低但是学号也要跟着排要怎么排?学号成绩124923变成58312349125831格式不行反正就是学号1,2,3,4,5成绩不一样但是成绩从高到低成绩跟...
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 成绩不一样
但是成绩从高到低 成绩跟的学号也要变 二维的怎么变? 展开
学号 成绩
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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询