第1个回答 2009-06-02
Dim a(1 To 20) As Integer
Sub paixu(dd, aa, bb)
For i = aa To bb - 1
For j = aa + 1 To bb
If dd(i) <= dd(j) Then
uu = dd(i)
dd(i) = dd(j)
dd(j) = uu
End If
Next j
Next i
For i = aa To bb
Print dd(i); " ";
Next i
End Sub
Private Sub 成绩_Click()
Form1.Cls
Dim max As Integer
Dim min As Integer
Dim ave As Integer
For i = 1 To 20
a(i) = Int(Rnd() * 100)
Print a(i); " ";
Next i
Print
max = a(1)
min = a(1)
For i = 1 To 20
If max <= a(i) Then max = a(i)
If min >= a(i) Then min = a(i)
ave = ave + a(i)
Next i
ave = ave / 20
Print "最高分:", max
Print "最低分:", min
Print "平均分:", ave
Print
Print "0~59",
For i = 1 To 20
If a(i) <= 59 Then
Print a(i); " ";
End If
Next i
Print
Print "60~69",
For i = 1 To 20
If a(i) <= 69 And a(i) >= 60 Then
Print a(i),
End If
Next i
Print
Print "70~79",
For i = 1 To 20
If a(i) <= 79 And a(i) >= 70 Then
Print a(i),
End If
Next i
Print
Print "80~89",
For i = 1 To 20
If a(i) <= 89 And a(i) >= 80 Then
Print a(i),
End If
Next i
Print
Print "90~100",
For i = 1 To 20
If a(i) <= 100 And a(i) >= 90 Then
Print a(i),
End If
Next i
Print
Print "由高到低排序",
paixu a, 1, 20
End Sub
Private Sub 计算_Click()
Dim mony As Single
inp = InputBox("上网时间,输入-1结束计算", "上网时间", 2)
If inp = -1 Then
Exit Sub
Else
Select Case inp
Case inp <= 10
mony = 25
Case inp > 10 And inp <= 50
mony = 25 + (inp - 10) * 2
Case inp > 50 And inp <= 100
mony = 25 + (50 - 10) * 2 + (inp - 50) * 1.5
Case inp > 100
mony = 25 + (50 - 10) * 2 + (100 - 50) * 1.5 + (inp - 100) * 1
End Select
If mony >= 300 Then
mony = 300
End If
msg = MsgBox(mony, vbOKOnly, "上网费用")
End If
End Sub