简单的VB编程练习题!急求答案!

1.设计一个窗体单击事件过程,其功能为:定义一个含有10个元素的整型数组A,给A的每个元素赋一个在区间[60,100]中的随机整数,然后从中找出最大的数,最后将这个最大的数及其在数组中的位置分别显示在文件框Text1和Text2中。

2.设计一个自定义过程Sort,含一个传址形参,形参类型为整型,其功能为将形参从小到大排序。再设计一个命令按钮单击事件过程Command1_Click,其功能是定义一个其初值为100至200的随机整数的数组,数组含10个元素,然后调用Sort过程排序,最后将排序后的数组用Print方法显示在窗体上,相邻的数之间空两格。

我可是免费的哦
1、
Private Sub Form_Click()
Dim A(1 To 10) As Integer
Dim i As Integer
Dim iMax As Integer, iPos As Integer

Me.Show
Me.Cls
Randomize
iMax = 0

For i = 1 To 10
A(i) = Fix(Rnd * 41) + 60
Print A(i) & " ";
If A(i) > iMax Then
iMax = A(i)
iPos = i
End If
Next i

Print

Print iMax
Print iPos

End Sub

如果有好几个数一样的话只能找到前面的(也算是一个缺陷吧)

2.
Private Sub Command1_Click()

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long)

Private Sub Command1_Click()

Dim a(1 To 10) As Integer
Dim i As Integer

Me.Show
Me.Cls
Randomize

For i = 1 To 10'显示最初顺序
a(i) = Fix(Rnd * 101) + 100
Print a(i) & " ";
Next i

Print

Sort VarPtr(a(1))

For i = 1 To 10'输出结果
Print a(i) & " ";
Next i

End Sub

Private Sub Sort(ByVal Head As Long)

Dim i As Integer, j As Integer, t As Integer
Dim b(1 To 10) As Integer

CopyMemory VarPtr(b(1)), Head, 20

For i = 1 To 9 '这节是排序的
For j = i + 1 To 10
If b(i) > b(j) Then
t = b(i)
b(i) = b(j)
b(j) = t
End If
Next j
Next i

CopyMemory Head, VarPtr(b(1)), 20

End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-06-13
QQ:159246100 免费
相似回答
大家正在搜