下列Find函数的功能是在数组里查找数字key,返回该key在数组中的下标,如果找不到则返回-1。请在_________处填入适当的内容完善程序。
Function Find(ByRef a%(), ByVal key%) As Integer
Dim idx%, i%
idx = -1
For i = LBound(a) To UBound(a)
If a(i) = key Then
_________
Exit Function
End If
Next
Find = idx
End Function
Function Find(ByRef a%(), ByVal key%) As Integer
Dim idx%, i%
idx = -1
For i = LBound(a) To UBound(a)
If a(i) = key Then
_________
Exit Function
End If
Next
Find = idx
End Function
举一反三
- 中国大学MOOC: 数组a是个整数数组且已有数据,如要在a中查找InputBox中输入的数字,并输出其下标。程序如下,请在_________处填入适当的内容,完善程序。 Dim i%, idx%, key% key = Val(InputBox("输入要查找的数字")) idx = -1 For i = 0 To UBound(a) If a(i) = key Then _________ Exit For End If Next If idx >= 0 Then MsgBox ("下标为" & idx) Else MsgBox ("找不到此数字") End If
- 下列Encode函数的功能是对字符串s里的数字字符进行加密,加密方法是增加序数n(数字字符加n后还是在数字字符范围内),如n=3,"Text123789"-->"Text456012"。 请在_________处填入适当的内容完善程序。 Function Encode(ByVal s$, ByVal n) As String Dim i%, c$, cvalue% For i = 1 To Len(s) c = Mid(s, i, 1) Select Case c Case "0" To "9" cvalue = Val(c) + n If cvalue > 9 Then _________ c = CStr(cvalue) ' CStr()函数将数值转换成数字字符 End Select Encode = Encode & c Next End Function
- 下列myDecimal函数的功能是字符串s表示的r进制数转变成十进制数。如s=“3a” , r=16,则结果是58。请在_________处填入适当的内容完善程序。 Function myDecimal(ByVal s$, ByVal r%) As Integer Dim i%, c$, n% For i = 1 To Len(s) c = Mid(s, i, 1) Select Case c Case "a" To "z" n = Asc(c) - Asc("a") + 10 Case "A" To "Z" n = Asc(c) - Asc("A") + 10 Case Else n = Val(c) End Select myDecimal = _________ Next End Function
- 以下是一个能返回数组a中最大数的函数过程代码: Function maxval(a() As Integer) As Integer Dim max% max = 1 For i = 2 To 10 If a(i) > a(max) Then max = i Next i maxval = max End Function PrivateSubCommand1_Click() Dimx(1To10)AsInteger Fori=1To10 x(i)=Int(Rnd()*100) Printx(i); Nexti Print Printmaxval(x()) EndSub 程序运行时,发现函数过程的返回值是错的需要修改,下面的修改方案中正确的是( )。
- 以下程序输出的结果是: Private Sub Form_Activate() Dim a a=Array(1,2,3,4,5) For i=Lbound(((A) To Ubound(((A) A(i)=i*a(i) Next i Print i, Lbound(((A) , Ubound(((A) , a(i) End Sub