vb常用算法最值问题
老年节-临淄中学网
1、算法说明
在若干数中求最大值,一般先取第一个数为最大值的初值(即假设第一
个
数为最大值),然后,在循环体内将每一个数与最大值比较,若该数大于最大
值,将该数替换
为最大值,直到循环结束。
求最小值的方法类同。
求若干数平均值,实质上就是先求和,再除以这些数的个数。
应用举例
随机产生<
br>n
个
1
-
100
(包括
1
和
100
)的数,求它们的最大值、最小值和平均值。
Private Sub
Command1_Click()
Dim n As Integer, i
As Integer, min As Integer, max As Integer, aver
As Single, s
As Integer
n =
Val(InputBox(
输入个数
:
s = Int(Rnd
* 100) + 1
max = s
min =
s
aver = s
Print
第
1
个数是:
& s
For i = 2 To
n
s = Int(Rnd * 100) + 1
Print
第
& i &
个数是:
& s
If s > max Then max = s
If s < min
Then min = s
aver = aver + s
Next i
aver = aver n
Print max; min; aver
End
Sub
解题技巧
最大值、最小值、平均值类型题目往往和数组放在一起考!有的不
仅求这些值,还要对具有最大值或者最
小值的行或列或者某个元素进行处理,这时就要在记录最大、最小
值时,同时记录该值所在的行号和列号。
2、实战练习
1)
补充代码(2000春二(9))
本程序的功能是在二维数组中查找鞍点元素,即
该元素在所在行中为最大,且在所在列中为最小。在
一个数组中可能存在,也可能不存在这样的元素。数
组各元素的值从文件中读取。
Private Sub Form_Click()
Dim a(3,3) As Integer,i As
Integer,j As Integer
Dim maxvr As
Integer,col As Integer, As nteger
Open
For Input As #1
For i=1 To 3
For j=1 To 3
Input #1,a(i,j)
Print a(i,j);
Next j
Print
Next i
For i=1 To 3
maxvr=
(
1
)
col=1
For j=2 To 3
If
maxvr
maxvr=
(
2
)
col=j
End If
Next j
&nsp;
For j=1 To 3
If
maxvr>a(j,col) Then
(
3
)
Next j
If j>3 Then
Print a(;i;,;col;)=;a(i,col)
=1
End If
If
(
4
)
Then Print
鞍点元素不存在
Next i
End
Sub
2)
编程题(
2002
秋上机试卷
05
)
随机生成所有数组
元素都是两位数的3×3的二维数组,找出其中不同行、不同列的三个数组元素的
乘积最大的一组,并将
这三个元素显示在图片框中。
情人节鲜花价格-河南机电高等专科