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 成绩不一样
但是成绩从高到低 成绩跟的学号也要变 二维的怎么变?
展开
 我来答
潜水V无敌
2007-01-08 · TA获得超过190个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:353万
展开全部
这样做.
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
上下无言任我行709
2007-01-07 · TA获得超过112个赞
知道答主
回答量:120
采纳率:0%
帮助的人:0
展开全部
弄个二维数组哈

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

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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式