经典的VB编程题.doc_第1页
经典的VB编程题.doc_第2页
经典的VB编程题.doc_第3页
经典的VB编程题.doc_第4页
经典的VB编程题.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. Fibonacci函数。Private Sub Command1_Click()Dim n As Integern = Text1Text2 = fib(n)End SubFunction fib(ByVal x As Integer) As IntegerIf x = 1 Or x = 2 Thenfib = 1Elsefib = fib(x - 2) + fib(x - 1)End IfEnd FunctionPrivate Sub Command2_Click()Text1 = Text2 = Text1.SetFocusEnd SubPrivate Sub Command3_Click()EndEnd Sub2. 百元百鸡Private Sub cmdCalc_Click()变量说明Dim x As IntegerDim y As IntegerDim z As Integer穷举法计算For x = 1 To 20For y = 1 To 33z = 100 - x - yIf 5 * x + 3 * y + z / 3 = 100 ThenText1 = Text1 & CStr(x) & Space(6) & CStr(y) & Space(6) & CStr(z) & Chr(13) & Chr(10)End IfNext yNext xEnd Sub3. 矩阵不靠边元素和For j = 1 To 5a(i, j) = Int(Rnd * 90) + 10NextNextFor i = 1 To 5For j = 1 To 5Picture1.Print a(i, j);NextPicture1.PrintNextEnd SubPrivate Sub Command2_Click()Text1 = fun1(a)End SubFunction fun1(x() As Integer) As DoubleDim i As Integer, j As Integerfun1 = 0For 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) Thenfun1 = fun1 + x(i, j)End IfNextNextEnd FunctionPrivate Sub Command3_Click()Text1 = Picture1.ClsCommand1.SetFocusEnd SubPrivate Sub Command4_Click()EndEnd Sub4. 递归函数Private Sub Command1_Click()List1.ClearDim i As IntegerFor i = 1 To 7List1.AddItem fact(i)Next iEnd SubFunction fact(ByVal n As Double) As DoubleIf n = 1 Thenfact = 1Elsefact = n * fact(n - 1)End IfEnd FunctionPrivate Sub Command2_Click()List1.ClearEnd SubPrivate Sub Command3_Click()EndEnd Sub5. 回文数Private Sub Command1_Click()RandomizeDim i As Integer, x As Integer, min As IntegerFor i = 1 To 500x = Int(Rnd * 9000) + 1000Text1 = Text1 & x & vbCrLfIf HuiWenShu(x) ThenText2 = Text2 & x & vbCrLfIf min = 0 Thenmin = xElseIf min x Thenmin = xEnd IfEnd IfEnd IfNext iText3 = minEnd SubFunction HuiWenShu(ByVal a As Integer) As BooleanIf StrReverse(a) = a ThenHuiWenShu = TrueElseHuiWenShu = FalseEnd IfEnd FunctionPrivate Sub Command2_Click()Text1 = Text2 = Text3 = End SubPrivate Sub Command3_Click()EndEnd Sub6. 级数求和。Private Sub Command1_Click()Dim s As Double, n As LongDim m As Doubles = 0n = 1Dom = 1 / (2 * n - 1)If m a(k + 1) Thentemp = a(k)a(k) = a(k + 1)a(k + 1) = tempEnd IfNext kNext jFor j = 1 To 10Text2 = Text2 & a(j) & Next jEnd SubPrivate Sub Command2_Click()Text1 = Text2 = End SubPrivate Sub Command3_Click()EndEnd Sub11.逆序数Private Sub Command1_Click()Dim n As String, s As StringDim i As Integern = Text1For i = Len(n) To 1 Step -1s = s & Mid(n, i, 1)Next iText2 = sEnd SubPrivate Sub Command2_Click()Text1 = Text2 = End SubPrivate Sub Command3_Click()EndEnd Sub12.判断素数Private Sub cmdJudge_Click()Dim x As Integer 待判断的数字Dim I As Integer 循环变量x = Val(txtInput.Text)根据素数定义进行判断For I = 2 To x - 1If x Mod I = 0 Then Exit ForNext IIf I x - 1 ThenPrint CStr(x) & 是素数ElsePrint CStr(x) & 不是素数End IfEnd Sub13.水仙花数Private Sub Command1_Click()Dim i As Integer, a As Integer, b As Integer, c As IntegerFor i = 100 To 999a = i 100b = i 10 Mod 10c = i Mod 10If i = a * a * a + b * b * b + c * c * c ThenText1 = Text1 & i & vbCrLfEnd IfNext iEnd SubPrivate Sub Command2_Click()EndEnd Sub14.顺序查找Dim s(1 To 10) As IntegerPrivate Sub Command1_Click()Dim i As IntegerText1 = For i = 1 To 10s(i) = Int(Rnd * 90) + 10Text1 = Text1 & CStr(s(i) & NextEnd SubPrivate Sub Command2_Click()Dim m As Integerm = search(s, Val(Text2)If m 0 ThenText3 = 要查找的数是第 & CStr(m) & 个元素ElseText3 = 要查找的数不存在End IfEnd SubFunction search(x() As Integer, ByVal n As Integer) As IntegerDim i As Integersearch = -1For i = LBound(x) To UBound(x)If x(i) = n Thensearch = iExit FunctionEnd IfNextEnd FunctionPrivate Sub Command3_Click()End15.完全质因子数Private Sub Command1_Click()Dim i As Integer, j As Integer, s As IntegerList1.ClearFor i = 1 To 100s = 0For j = 1 To i - 1If i Mod j = 0 Thens = s + jEnd IfNextIf s = i Then List1.AddItem iNextEnd SubPrivate Sub Command2_Click()List1.ClearEnd SubPrivate Sub Command3_Click()EndEnd Sub16.字符统计Option Base 1Private Sub Command1_Click()Dim i As Integer, a(26) As Integer, n As IntegerDim s As String * 1, str1 As Stringstr1 = Text1n = Len(str1)For i = 1 To ns = Mid(str1, i, 1)If UCase(s) = A And UCase(s) = Z Thena(Asc(UCase(s) - 64) = a(Asc(UCase(s) - 64) + 1End IfNext iFor i = 1 To 26If a(i) 0 ThenList1.AddItem Chr(64 + i) & : & a(i)End IfNext iEnd SubPrivate Sub Command2_Click()Text1 = List1.ClearEnd SubPrivate Sub Command3_Click()EndEnd Sub17.最大公约数Private Sub Command1_Click()Dim m As Integer, n As Integerm = Val(Text1)n = Val(Text2)Text3 = gcd(m, n)Text4 = m * n / gcd(m, n)End SubFunction gcd(ByVal a As Integer, ByVal b As Integer) As IntegerDim r As IntegerDor = a Mod ba = bb = rLoop Until r = 0gcd = CStr(a)End FunctionPrivate Sub Command2_Click()Text1 = Text2 = Text3 = Text4 = Text1.SetFocusEnd SubPrivate Sub Command3_Click()End18。最大最小平均求和Dim s(1 To 10) As IntegerPrivate Sub Command1_Click()Dim i As IntegerFor i = 1 To 10s(i) = Int(Rnd * 90) + 10List1.AddItem s(i)NextEnd SubPrivate Sub Command2_Click()Dim i As IntegerDim max As Integer, min As Integer, sum As Integermax = s(1)min = s(1)sum = 0For i = 1 To 10sum = sum + s(i)NextFor i = 2 To 10If s(i) max Then max = s(i)If s(i) min Then min = s(i)NextText1 = maxText2 = minText3 = sum / 10Text4 = sumEnd SubPrivate Sub Command3_Click()List1.ClearText1 = Text2 = Text3 = Text4 = Command1.SetFocusEnd Sub20.最小公倍数Private Sub Command1_Click()Dim m As Integer, n As Integerm = Text1n = Text2Text3 = m * n / gcd(m, n)End SubFunction gcd(ByVal a As Integer, ByVal b As Integer) As IntegerDim r As IntegerDor = a Mod ba = bb = rLoop Until r = 0gcd = CStr(a)End FunctionPrivate Sub Command

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论