分享

经典的vb编程题[整理版]

 YouYouDo 2016-04-06

1. Fibonacci函数。

    Private Sub Command1_Click() Dim n As Integer

    n = Text1

    Text2 = fib(n)

    End Sub

    Function fib(ByVal x As Integer) As Integer

    If x = 1 Or x = 2 Then

    fib = 1

    Else

    fib = fib(x - 2) + fib(x - 1) End If

    End Function

    Private Sub Command2_Click() Text1 = ''

    Text2 = ''

    Text1.SetFocus

    End Sub

    Private Sub Command3_Click() End

    End Sub

    2. 百元百鸡

1/20页

    Private Sub cmdCalc_Click() '变量说明

    Dim x As Integer

    Dim y As Integer

    Dim z As Integer

'穷举法计算

For x = 1 To 20

    For y = 1 To 33

    z = 100 - x - y

    If 5 * x + 3 * y + z / 3 = 100 Then

    Text1 = Text1 & CStr(x) & Space(6) & CStr(y) & Space(6) & CStr(z) & Chr(13) & Chr(10)

    End If

    Next y

    Next x

    End Sub

    3. 矩阵不靠边元素和

2/20页

For j = 1 To 5

    a(i, j) = Int(Rnd * 90) + 10 Next

    Next

    For i = 1 To 5

    For j = 1 To 5

    Picture1.Print a(i, j); Next

    Picture1.Print

    Next

    End Sub

    Private Sub Command2_Click() Text1 = fun1(a)

    End Sub

    Function fun1(x() As Integer) As Double

    Dim i As Integer, j As Integer fun1 = 0

    For i = LBound(x, 1) To UBound(x, 1)

    For j = LBound(x, 2) To UBound(x, 2)

    If Not (i = LBound(x, 1) Or i = UBound(x, 1) Or j = LBound(x, 2) Or j = UBound(x, 2)) Then

    fun1 = fun1 + x(i, j)

    End If

    Next

    Next

    End Function

    Private Sub Command3_Click() Text1 = ''

    Picture1.Cls

    Command1.SetFocus

    End Sub

    Private Sub Command4_Click() End

    End Sub

    4. 递归函数

3/20页

    Private Sub Command1_Click() List1.Clear

    Dim i As Integer

    For i = 1 To 7

    List1.AddItem fact(i)

    Next i

    End Sub

    Function fact(ByVal n As Double) As Double

    If n = 1 Then

    fact = 1

    Else

    fact = n * fact(n - 1)

    End If

    End Function

    Private Sub Command2_Click() List1.Clear

    End Sub

    Private Sub Command3_Click() End

    End Sub

    5. 回文数

4/20页

    Private Sub Command1_Click() Randomize

    Dim i As Integer, x As Integer, min As Integer

    For i = 1 To 500

    x = Int(Rnd * 9000) + 1000 Text1 = Text1 & x & vbCrLf If HuiWenShu(x) Then

    Text2 = Text2 & x & vbCrLf If min = 0 Then

    min = x

    Else

    If min > x Then

    min = x

    End If

    End If

    End If

    Next i

    Text3 = min

    End Sub

    Function HuiWenShu(ByVal a As Integer) As Boolean

    If StrReverse(a) = a Then HuiWenShu = True

    Else

    HuiWenShu = False

    End If

    End Function

5/20页

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多