vb小白求解释一段代码 各位高人求指教!!!!
算法是求text1234四个框中的整数的最小值OptionBase1PrivateFunctionFindMin(a()AsInteger)DimStartAsInteg...
算法是求 text 1 2 3 4 四个框中的整数的最小值
Option Base 1
Private Function FindMin(a() As Integer)
Dim Start As Integer
Dim Finish As Integer, i As Integer
'Start = ?(a)
'Finish = ?(a)
''Min = ?(Start)
For i = Start To Finish
'If a(i) ? Min Then Min = ?
Next i
FindMin = Min
End Function
Private Sub Command1 Click()
Dim arr1
Dim arr2(4) As Integer
arr1 = Array(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text), Val(Text4.Text))
For i = 1 To 4
arr2(i) = CInt(arr1(i))
Next i
'M = FindMin(?)
Print "最小值是: "; M
End Sub
程序结束
参考答案
第1个?处填入:LBound
第2个?处填入:UBound
第3个?处填入:a
第4个?处填入:<
第5个?处填入:a(i)
第6个?处填入:arr2
求解释一下 我看不懂!!!
表示算法我看懂了 但是不明白arr2(i) = CInt(arr1(i)) 这个有什么用? 一开始就是输入整数啊 要这个有什么用呢? 求大神 指点 展开
Option Base 1
Private Function FindMin(a() As Integer)
Dim Start As Integer
Dim Finish As Integer, i As Integer
'Start = ?(a)
'Finish = ?(a)
''Min = ?(Start)
For i = Start To Finish
'If a(i) ? Min Then Min = ?
Next i
FindMin = Min
End Function
Private Sub Command1 Click()
Dim arr1
Dim arr2(4) As Integer
arr1 = Array(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text), Val(Text4.Text))
For i = 1 To 4
arr2(i) = CInt(arr1(i))
Next i
'M = FindMin(?)
Print "最小值是: "; M
End Sub
程序结束
参考答案
第1个?处填入:LBound
第2个?处填入:UBound
第3个?处填入:a
第4个?处填入:<
第5个?处填入:a(i)
第6个?处填入:arr2
求解释一下 我看不懂!!!
表示算法我看懂了 但是不明白arr2(i) = CInt(arr1(i)) 这个有什么用? 一开始就是输入整数啊 要这个有什么用呢? 求大神 指点 展开
2个回答
展开全部
1首先 介绍一下FindMin 函数 参数是一个整形数组
Start = LBound 表示数组的下界
Finish = UBound 表示数组的上界
这两个主要是做循环用
Min = a 是初始化Min变量为数组第一个元素
For i = Start To Finish
'If a(i) < Min Then Min = a(i)
Next i
这个代表遍历数组a 每一次循环 都会用当前最小数(也就是Min的值) 与数组a当前下标的元素比较 如果发现数组中的值小于 MIn就 把数组的值赋给MIn 这样每一轮结束 Min都是当前最小的
(就是一个从前往后依次比较的过程 )
都遍历完后Min的值就是数组中最小的 把它作为返回值返回
FindMin = Min
2 介绍按钮函数
arr1 = Array(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text), Val(Text4.Text))
'就是将四个文本框的依次值 存入 数组arr1 中 注意文本框的值是字符串类型的 Val转完后是 double类型
For i = 1 To 4
arr2(i) = CInt(arr1(i))
Next i
是将arr1中的值(double类型)强制转换为int 后存入arr2中 arr2 中的是int类型
M = FindMin(arr2)
将数组传给FindMin函数 找出最小值 赋值给M
Start = LBound 表示数组的下界
Finish = UBound 表示数组的上界
这两个主要是做循环用
Min = a 是初始化Min变量为数组第一个元素
For i = Start To Finish
'If a(i) < Min Then Min = a(i)
Next i
这个代表遍历数组a 每一次循环 都会用当前最小数(也就是Min的值) 与数组a当前下标的元素比较 如果发现数组中的值小于 MIn就 把数组的值赋给MIn 这样每一轮结束 Min都是当前最小的
(就是一个从前往后依次比较的过程 )
都遍历完后Min的值就是数组中最小的 把它作为返回值返回
FindMin = Min
2 介绍按钮函数
arr1 = Array(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text), Val(Text4.Text))
'就是将四个文本框的依次值 存入 数组arr1 中 注意文本框的值是字符串类型的 Val转完后是 double类型
For i = 1 To 4
arr2(i) = CInt(arr1(i))
Next i
是将arr1中的值(double类型)强制转换为int 后存入arr2中 arr2 中的是int类型
M = FindMin(arr2)
将数组传给FindMin函数 找出最小值 赋值给M
展开全部
只是一个寻找最小数的程序:
1和2处分别是获取数组a()的下界和上界,便于后面的调用!!
3处的a(start)是指数组中的第一个元素!
4和5处分别是比较a(start)和min的大小,将最小的数值保存在min中!
6处的是填入实参,以便调用函数!!
1和2处分别是获取数组a()的下界和上界,便于后面的调用!!
3处的a(start)是指数组中的第一个元素!
4和5处分别是比较a(start)和min的大小,将最小的数值保存在min中!
6处的是填入实参,以便调用函数!!
追问
但是不明白arr2(i) = CInt(arr1(i)) 这个有什么用? 一开始就是输入整数啊 要这个有什么用呢? 求大神 指点
追答
arr1 = Array(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text), Val(Text4.Text))
只是将文本转换为数值,
arr2(i) = CInt(arr1(i))
这里是将数值强制转换为整数!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询