计算机等级考试二级VB常用算法(2):最值
1.算法描述
在对几个数求值时,一般取第一个数作为值的初始值(即假设第一个数就是值)。然后,将每个数字与循环中的值进行比较。如果数字大于值,则它将被替换为值,直到循环结束。
求最小值的方法是相似的。
求几个数的平均值,本质上就是先求和,然后除以这些数的个数。
应用示例
从1到100(含)随机生成N个数,求它们的值、最小值、平均值。
以下是带引号的片段:
private subcommand 1 _ click()
dim n As integer,I as integer,min as integer,max as integer,averas single,As integer
n = val (InputBox("输入数:")))
s = int(RND * 100)+1
max = s
min = s
aver = s[第一次打印数" is:"&s
for I = .if s < min Then min = s
aver = aver+s
Next I
aver = aver/n
Print " max = ";max" min = ";min" aver = ";aver
End Sub
解决问题的技巧
数值,最小值,平均值经常和数组一起测试!有些不仅寻找这些值,而且还处理具有值或最小值的行或列或元素。此时,在记录最小值时,应同时记录该值的行号和列号。
2.实践练习
1)补充代码
这个程序的作用是寻找二维数组中的鞍点元素,即元素在行,最小的在列。数组中可能有也可能没有这样的元素。数组中每个元素的值都是从文件data.txt中读取的
以下为引用片段:
private subform _ click()
dim a(3,3) as integer,I as integer,j As Integer
dim maxvr As Integer,col as integer,As Integer
Open data . txt 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到3
maxvr =(1)
col = 1
For j = 2到3
If maxvr
maxvr =(2)
col = j
End If
Next j
For j = 1到3
If maxvr >
0条评论