高分悬赏VB问题

1. 编写一个将二进制数转换为十进制数的函数。
2. 写过程myShow,myHide能够显示隐藏各种控件(通过设置Visable属性)。(提示:用控件做参数。)
3. 用递归的方法求斐波那契数列的前20项,并将其显示在窗体
4. 编写一个Find函数,能够查找用户输入的数是否在一个随机数组中,如在数组中,则把它的位置显示出来。例如,a数组中有随机产生的5个数:3,8,9,5,2。如果用户输入9,调用Find函数后能够显示:9在数组a中,是第3个数。
5. 编写一个Average和Mean函数,对于任意给出的一个数列,求它们的平均值和中数。中数:将一个数列排序后,若数列的个数为奇数,则其中数为数列中间那个数的值,若为偶数,则其中数为数列中间那两个数的平均值。如1,2,3,4,5的中数为中间的3;1,2,3,4,5,6的中数为中间3和4两数的平均值3.5。
回答1,2题也没关系的,拜托啦,今天肯定采纳答案

- -我保证没有人能这么耐心的把这些都详详细细的给你编写完成。。。太多了啦。。。建议你去baidu下吧,还详细,还带源代码的,多好
1、
Public Function BIN_to_DEC(ByVal Bin As String) As Long
Dim i As Long
For i = 1 To Len(Bin)
BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))
Next i
End Function
我一个一个帮你找- -

2、嘿嘿 也被我找到了~~适当改下函数名字,把它分成2个函数哈 要切题~~
Private Sub SetFrameState(ByRef frmParent As Form, ByRef ctlContainer As Control)
Dim o_ctlItem As Control
For Each o_ctlItem In frmParent.Controls
On Error Resume Next
With o_ctlItem
If .Container.Name = ctlContainer.Name Then
.Container.Visible = True
ctlContainer.visuble = True
ElseIf .Container.Caption = "Form1" Then
.Visible = False
End If
End With
Next

3、
Private Function F(n As Long) As Long
If n > 2 Then
F = F(n - 1) + F(n - 2)
Else
F = 1
End If
End Function

Private Sub Command1_Click()
Dim a As String
Dim i as long
Dim n as long
Dim sum as long
a = InputBox("输入斐波那契数列项数", "输入")
n = Clng(a)
Cls
For i=1 to n
sum = sum + F(i)
Next

Print "斐波那契数列前";Cstr(n);"项和:";sum
End Sub

4、baidu真好用~~~

Private Sub Command1_Click()
Dim suiji#(10)
shuru = InputBox$("输入", "随机")
For ii = 0 To 10
suiji(ii) = Int(100 * Rnd)
Next ii
For ii = 0 To 10
If Val(shuru) = suiji(ii) Then
MsgBox ("在")
Exit For
Else
End If
Next ii
End Sub

5、最后一个网上没有,自己写。。

Private Sub Form_Click()
Dim N As Integer, A() As Integer, Avg As Integer, intMid As Double
N = 10
ReDim A(1 To N) As Integer
Randomize
For i = 1 To N
A(i) = Int(Rnd * 90) + 10
Avg = Avg + A(i)
Next
'求中值
If N Mod 2 = 0 Then
intMid = (A(i / 2 - 1) + A(i / 2)) / 2
Else
intMid = A((i - 1) / 2)
End If

Print "平均值为:" & Avg / N
Print "中值为:" & intMid
End Sub
温馨提示:答案为网友推荐,仅供参考
相似回答