
VB怎样显示最大值、最小值
随机产生10个30~100(包括30,100)的正整数,求最大值、最小值和平均值,并显示整个数组的值和结果。...
随机产生10个30~100(包括30,100)的正整数,求最大值、最小值和平均值,并显示整个数组的值和结果。
展开
4个回答
展开全部
我是用Excel中的宏做测试的,测试通过。你只需要将debug.print修改成print,然后运行test这个过程就可以了。
可能不是非常简便,我很久没有接触vb了,下面是所有程序
Option Explicit
Sub test()
Dim i As Integer
Dim Arr(1 To 10) As Single '用数组存放随机取到的数
Const MaxBound As Integer = 101 '因为随机数Rnd取不到上界,因此要包含100的话需要把最大值设为101
Const MinBound As Integer = 30 '随机数Rnd取得到下界
Dim SumNumber As Integer '存放数组所有值的和
Dim AvgNumber As Single '存放数据的平均值
Dim MaxNumber As Integer '存放数组中最大的值
Dim MinNumber As Integer '存放数组中最小的值
Randomize '使每次取的随机数都不相同
SumNumber = 0
'用循环随机取10个数
For i = 1 To 10
Arr(i) = 30 + Int(Rnd * (MaxBound - MinBound)) '上界减去下界乘以一个随机数并取整,这个就是你要的结果
Debug.Print "第" & i & "个数" & " " & Arr(i) '打印出随机数
SumNumber = SumNumber + Arr(i) '累加,数组的和
Next
AvgNumber = SumNumber / 10 '求数组平均值
Debug.Print "平均值=" & AvgNumber
MaxNumber = Arr(1)
For i = 2 To 10
If Arr(i) > MaxNumber Then MaxNumber = Arr(i) '判断最大值
Next
Debug.Print "最大值=" & MaxNumber
MinNumber = Arr(1)
For i = 2 To 10
If Arr(i) < MinNumber Then MinNumber = Arr(i) '判断最小值
Next
Debug.Print "最小值=" & MinNumber
Debug.Print "-------------------------"
End Sub
可能不是非常简便,我很久没有接触vb了,下面是所有程序
Option Explicit
Sub test()
Dim i As Integer
Dim Arr(1 To 10) As Single '用数组存放随机取到的数
Const MaxBound As Integer = 101 '因为随机数Rnd取不到上界,因此要包含100的话需要把最大值设为101
Const MinBound As Integer = 30 '随机数Rnd取得到下界
Dim SumNumber As Integer '存放数组所有值的和
Dim AvgNumber As Single '存放数据的平均值
Dim MaxNumber As Integer '存放数组中最大的值
Dim MinNumber As Integer '存放数组中最小的值
Randomize '使每次取的随机数都不相同
SumNumber = 0
'用循环随机取10个数
For i = 1 To 10
Arr(i) = 30 + Int(Rnd * (MaxBound - MinBound)) '上界减去下界乘以一个随机数并取整,这个就是你要的结果
Debug.Print "第" & i & "个数" & " " & Arr(i) '打印出随机数
SumNumber = SumNumber + Arr(i) '累加,数组的和
Next
AvgNumber = SumNumber / 10 '求数组平均值
Debug.Print "平均值=" & AvgNumber
MaxNumber = Arr(1)
For i = 2 To 10
If Arr(i) > MaxNumber Then MaxNumber = Arr(i) '判断最大值
Next
Debug.Print "最大值=" & MaxNumber
MinNumber = Arr(1)
For i = 2 To 10
If Arr(i) < MinNumber Then MinNumber = Arr(i) '判断最小值
Next
Debug.Print "最小值=" & MinNumber
Debug.Print "-------------------------"
End Sub
展开全部
如果数组存入a()中
dim b as integer
dim c as integer
dim s as integer
for i=1 to 30
if b<a(i) then b=a(i)
if c>a(i) then c=a(i)
s=s+a(i)
next
s=s/30
msgbox("最大值:" & b & " 最小值:" & c & " 平均值:" & s)
dim b as integer
dim c as integer
dim s as integer
for i=1 to 30
if b<a(i) then b=a(i)
if c>a(i) then c=a(i)
s=s+a(i)
next
s=s/30
msgbox("最大值:" & b & " 最小值:" & c & " 平均值:" & s)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private a(9) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sz As Integer
Randomize()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
For sz = 0 To 9
a(sz) = Int(90 * Rnd() + 10)
TextBox1.Text = TextBox1.Text + CStr(a(sz)) + " "
Next sz
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim max, max_i, sz As Integer '求最大
max = a(sz)
For sz = 0 To 9
If max <= a(sz) Then
max = a(sz)
max_i = sz + 1
End If
Next sz
TextBox2.Text = CStr(max)
TextBox5.Text = CStr(max_i)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim min, min_i, sz As Integer '求最小
min = a(sz)
For sz = 0 To 9
If min >= a(sz) Then
min = a(sz)
min_i = sz + 1
End If
Next sz
TextBox3.Text = CStr(min)
TextBox6.Text = CStr(min_i)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim min, min_i, i, j, t As Integer
For i = 0 To 8
min = a(i) : min_i = i
For j = i + 1 To 9
If min > a(j) Then
min = a(j) : min_i = j
End If
Next j
If min_i <> i Then
t = a(min_i) : a(min_i) = a(i) : a(i) = t
End If
Next i
TextBox4.Text = ""
For i = 0 To 9
TextBox4.Text = TextBox4.Text + CStr(a(i)) + " "
Next i
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim av As Double '求平均值
Dim i As Integer
av = 0
For i = 0 To 9
av = av + a(i)
Next i
av = av / 10
TextBox7.Text = CStr(av)
End Sub
End Class
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sz As Integer
Randomize()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
For sz = 0 To 9
a(sz) = Int(90 * Rnd() + 10)
TextBox1.Text = TextBox1.Text + CStr(a(sz)) + " "
Next sz
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim max, max_i, sz As Integer '求最大
max = a(sz)
For sz = 0 To 9
If max <= a(sz) Then
max = a(sz)
max_i = sz + 1
End If
Next sz
TextBox2.Text = CStr(max)
TextBox5.Text = CStr(max_i)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim min, min_i, sz As Integer '求最小
min = a(sz)
For sz = 0 To 9
If min >= a(sz) Then
min = a(sz)
min_i = sz + 1
End If
Next sz
TextBox3.Text = CStr(min)
TextBox6.Text = CStr(min_i)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim min, min_i, i, j, t As Integer
For i = 0 To 8
min = a(i) : min_i = i
For j = i + 1 To 9
If min > a(j) Then
min = a(j) : min_i = j
End If
Next j
If min_i <> i Then
t = a(min_i) : a(min_i) = a(i) : a(i) = t
End If
Next i
TextBox4.Text = ""
For i = 0 To 9
TextBox4.Text = TextBox4.Text + CStr(a(i)) + " "
Next i
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim av As Double '求平均值
Dim i As Integer
av = 0
For i = 0 To 9
av = av + a(i)
Next i
av = av / 10
TextBox7.Text = CStr(av)
End Sub
End Class
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
max 函数
max 函数自己搜
max 函数自己搜
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询