用随机数函数Rnd生成一个8行8列的数组(各元素值在100以内),然后找出某个指定行内值最大的元素所在的列号。要求,查找指定行内值最大的元素所在列号的操作通过一个过程来实现。

解:求某一指定行中值最大的元素所在列号的过程如下:
Function Max(b() As Integer, row As Integer)
    m = b(row, l)
    col = l
    For i = 2 To UBound(b, 2)
        If b(row, i) > m Then
            Let m = b(row, i)
            col = i
        End If
    Next i
    Max = col
End Function


该过程有两个参数,一个是数组,一个是数组中指定行的行号。在这个过程中,首先把指定的第一列的值赋予一个变量,其列号为1,然后把该值与其后的各列的值相比较,如果比该值大,则用较大的值取代,同时记下其列号。

编写窗体的Click事件如下
Private Sub Form_click()
   Me.Cls
    Randomize
    Dim a(1 To 8, 1 To 8) As Integer
    Dim row As Integer
    For i = 1 To 8
        For j = 1 To 8
            a(i, j) = Int(Rnd * 100)
        Next j
    Next i

    Print "所生成的数组为:"
    For i = 1 To 8
        For j = 1 To 8
            Print a(i, j);
        Next j
        Print
    Next i

    Do
        row = InputBox("请输入指定的行号:")
    Loop Until row >= 1 And row <= 8
    col = Max(a(), row)
    Print
    Print "第"; row; "行中最大元素所在列号为:"; col
End Sub

此程序首先用随机数函数生成一个8行8列的数组,然后要求输入一个行号,程序将输出该行中最大值元素所在行的列号。
运行程序,点击窗体,输入数值,结果如下图所示。

来源:visual basic程序设计教程第四版答案(刘炳文)

本文链接:http://www.wb98.com/vb1/post/vb_9.11.html

本站文章搜索:

<< 上一篇下一篇 >>

搜索

Tags列表

扫我手机登录

赞助商链接