求教一道vb题目!

来源:百度知道 编辑:UC知道 时间:2024/05/24 02:28:21
题目:班里有40个同学,用随机数产生(0-100)数据模拟成学生成绩,装入a(40)一维数组,调用disp()函数显示数组元素。调用mma()函数统计并显示总分的最高分、最低分及位置和平均分。调用排序()函数对数组进行排序(分别用选择法和冒泡法排序),调用disp()函数显示排序结果。
请各位帮帮忙!谢谢!

先建三个按钮:command1为调用显示数组元素;command2为调用mma()进行统计;command3为调用排序()(根据你的要求,排序1()为选择排序法,降序;排序2()为冒泡排序法,升序)
再建一个listbox控件,用来显示成绩
代码如下:
Dim a(1 To 40) As Integer

Private Sub Command1_Click()
List1.Clear
Call disp
End Sub

Private Sub Command2_Click()
Call mma(a(), 40)
End Sub

Private Sub Command3_Click()
Call 排序1(40, a())
End Sub

Private Sub Form_Load()
For i = 1 To 40
Randomize
a(i) = Int(Rnd * 101)
Next
End Sub

Private Function disp()
For i = 1 To 40
List1.AddItem a(i)
Next
End Function

Private Function mma(s() As Integer, n As Integer)
Dim max As Integer, nmax As Integer
Dim min As Integer, nmin As Integer
Dim sum As Integer
max = s(1)
nmax = 1
min = s(1)
nmin = 1
For i = 2 To n
If s(i) > max Then max = s(i): nmax = i
If s(i) < min Then min = s(i): nmin = i
Next
Debu