游览科技馆感悟:高分求VB编程问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 15:52:33
编一个程序:要求随机生成10个数,剔除最大的和最小的,求剩下8个的平均值。

Private Sub Command1_Click()
Dim a(9), min, max, i, sum As Integer
Randomize (Timer)
max = 0: min = 100
For i = 0 To 9
a(i) = Int(Rnd() * 100) + 1
If a(i) > max Then max = a(i)
If a(i) < min Then min = a(i)
sum = sum + a(i)
Print a(i);
Next
Print vbCrLf & "最大数是" & max
Print "最小数是" & min
Print "平均数是" & (sum - max - min) / 8
End Sub

Private Sub Command1_Click()
Dim x(9), y, temp As Long
Dim z As String

For i = 0 To 9
x(i) = Rnd() * 100
Next i

For i = 0 To 9
For j = 0 To 9
If x(i) > x(j) Then
temp = x(j)
x(j) = x(i)
x(i) = temp
End If
Next j
Next i

For i = 0 To 9
z = z & CStr(x(i)) & vbCrLf
Next i

For i = 1 To 8
y = y + x(i)
Next i

MsgBox "十个数分别为:" & vbCrLf & z & "去掉最大及最小数后的平均数为:" & y / 8
End Sub

Private Sub Form_Load()
Randomize
End Sub

编程思想是这样的:你先定义一个数组用来存放产生的十个数;然后用冒泡对其进行排序,然后在对中间八个数进行排序

Public Class Form1
Inherits System.Windows.Forms.Form
Dim a(10) As Integer ‘定义全局变量在代码生成器之前
Dim i, j, t, sum As Integer

#Region " Windows 窗体设计器生成的代码 "

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

For i = 1 To 10 ’产生数组
a(i) = (Rnd() * 100)

Next

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
For i = 1 To 9 ‘排序
For j = 1 To 9 - i
If a(j) >= a(j + 1) Then
t = a(j + 1)
a(j + 1) = a(j)
a(j) = t
End If
Next
Next
For i = 2 To 9
sum += a(i)
Next
sum /= 8
TextBox1.Text = sum.ToString
End Sub
End Class

啊~`这种问题~``晕了。