这道题的完整答案:所需控件:一个text1,一个command1按钮
其属性设置:text1的multiline属性设为true(即可以接受多行)
command1是数组控件(共四个,见上)。
Option Base 1
Dim x() As Integer
Dim i, j, k, p, t, y, z, s As Integer
Dim a, b, c, d, e As Double
Private Sub Command1_Click(Index As Integer)
ReDim Preserve x(21) '重新定义一个有21个元素的一维数组x
k = UBound(x) - 1 '把一维数组x的下标上界减1剩下就是20个元素(学生)了
Randomize '随机数的初始化
Select Case Index
Case 0
Text1 = "随机产生" & Trim(Str(Val(k))) & "个学生的成绩:"
Text1 = Text1 & vbNewLine
For i = 1 To k
x(i) = Int(Rnd * 100)
Text1.Text = Text1.Text & x(i) & " "
Next i
Text1 = Text1 & vbNewLine
Text1 = Text1 & vbNewLine
Case 1
Text1 = Text1 & "20个学生中最高分的是:"
y = x(1) '假设第一学生的成绩最高
For i = 1 To k
If y < x(i) Then '把第一个学生的成绩与其余的19学生两两对比找出比第一个学生的成绩要高的学生
y = x(i) '如果找到要高的就互换
End If
Next i
Text1 = Text1 & Str(Val(y)) & "分"
Text1 = Text1 & vbNewLine
Text1 = Text1 & "20个学生中最低分的是:"
y = x(1) '同样的思维,假设第一个学生的成绩最低
For i = 1 To k
If y > x(i) Then '把第一个学生的成绩与其余的19学生两两对比找出比第一个学生的成绩要低的学生
y = x(i) '如果找到要低的就互换
End If
Next i
Text1 = Text1 & Str(Val(y)) & "分"
Text1 = Text1 & vbNewLine
Text1 = Text1 & "20个学生中的平均分数是:"
j = 0
For i = 1 To k
j = j + x(i) '先求20个学生的总分
Next i
s = j / (k) '总分数除于人数得平均数
Text1 = Text1 & Str(Val(s)) & "分"
Text1 = Text1 & vbNewLine
Text1 = Text1 & vbNewLine
Case 2
For i = 1 To k
y = x(i) '将所有同学们的分数逐一赋给变量y
Select Case y '在所有分数中查找符合条件的分数并进行计算人数
Case 0 To 59
e = e + 1
Case 60 To 69
d = d + 1
Case 70 To 79
c = c + 1
Case 80 To 89
b = b + 1
Case 90 To 100
a = a + 1
End Select
Next i
Text1 = Text1 & "0~59分的人有:"
Text1 = Text1 & Str(Val(e)) & "个人"
Text1 = Text1 & vbNewLine
Text1 = Text1 & "60~69分的人有:"
Text1 = Text1 & Str(Val(d)) & "个人"
Text1 = Text1 & vbNewLine
Text1 = Text1 & "70~79分的人有:"
Text1 = Text1 & Str(Val(c)) & "个人"
Text1 = Text1 & vbNewLine
Text1 = Text1 & "80~89分的人有:"
Text1 = Text1 & Str(Val(b)) & "个人"
Text1 = Text1 & vbNewLine
Text1 = Text1 & "90~100分的人有:"
Text1 = Text1 & Str(Val(a)) & "个人"
Text1 = Text1 & vbNewLine
Text1 = Text1 & vbNewLine
Case 3
For i = 1 To 19
For j = i + 1 To 20
If x(i) < x(j) Then
t = x(i)
x(i) = x(j)
x(j) = t
End If
Next j
Next i
Text1 = Text1 & "成绩由高到低;"
Text1 = Text1 & vbNewLine
For i = 1 To 20
Text1 = Text1 & x(i) & " "
Next i
Text1 = Text1 & vbNewLine
Text1 = Text1 & vbNewLine
End Select
End Sub
等,所对的弦的弦心距相等推论 在同圆或
温馨提示:答案为网友推荐,仅供参考