软件工程-VB程序试题1_第1页
软件工程-VB程序试题1_第2页
软件工程-VB程序试题1_第3页
免费预览已结束,剩余6页可下载查看

下载本文档

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

文档简介

1、sum = 0If i = 1 Or i = u1 Or j = 1 Or j = u2 Then'1 判定素数过程;Private Function prime(n As Integer) As Boolean Dim iAs Integer prime = FalseFor i = 2 To Sqr(n)If n Mod i = 0 Then Exit FunctionNext i prime = TrueEnd Function'2 求最大公约数过程 ;Private Function gcd(ByVal m As Integer, ByVal n As Integer)

2、 As IntegerDim t As Integer, r As IntegerIf m < n Then t = m m = n n = tEnd If r = m Mod nDo While r <> 0 m = n n = r r = m Mod nLoop gcd = nEnd Function'3 冒泡排序过程;'Option Base 1Private Sub sort(a() As Integer)Dim i As Integer, j As Integer, t As IntegerFor i = 1 To UBound(a) - 1For

3、j = 1 To UBound(a) - iIf a(j) > a(j + 1) Then t = a(j) a(j) = a(j + 1) a(j + 1) = tEnd If Next jNext iEnd Sub'4 顺序查找过程;Private Function search(a() As Integer, ByVal key AsInteger) As IntegerDim i As IntegerFor i = LBound(a) To UBound(a)If key = a(i) Then search = i Exit Function End IfNext iE

4、nd Function'8 矩阵靠边元素之和 ;'Option Base 1Private Function sum1(a() As Integer) As IntegerDim u1 As Integer, u2 As Integersearch = -1End Function'5 判断回文数过程;'Option Base 1Private Function huiwen(ByVal n As Long) As Boolean Dim a() As Integer, k As Integer, i As Integerhuiwen = FalseDo Whi

5、le n <> 0k = k + 1ReDim Preserve a(k)a(k) = n Mod 10n = n 10LoopFor i = 1 To k 2If a(i) <> a(k - i + 1) Then Exit Function Next i huiwen = True End Function'6 递归函数求阶乘;Private Function Fact(n As Integer) As Long If n = 1ThenFact = 1ElseFact = n * Fact(n - 1)End IfEnd Function'7 递归

6、函数求 Fibonacci 数列 ;Private Function Fib(n As Integer) As IntegerIf n = 1 Or n = 2 ThenFib = 1ElseFib = Fib(n - 1) + Fib(n - 2)End IfEnd Sub14. 顺序查找For i = 1 To UBound(a, 1) 'UBound(a, 1) 求数组 第一维的维上界For j = 1 To UBound(a, 2) 'UBound(a, 2)求数组第二维的维上界sum = sum + a(i, j) ' 假设满足第一行、最后一 行、 第一列或最

7、后一列中任一要求,那么进行累加Next jNext iPrintEnd Function'9 矩阵不靠边元素之和;'Option Base 1Private Function sum(a() As Integer) As IntegerDim i As Integer, j As Integersum = 0For i = 2 To UBound(a, 1) - 1 ' 排除第一行和最 后一行For j = 2 To UBound(a, 2) - 1 ' 排除第一列 和最后一列sum = sum + a(i, j)Next jNext iEnd Function

8、'10 矩阵转置。'Option Base 1Private Sub zhuanzhi(a() As Integer, b() As Integer)Dim i As Integer, j As IntegerFor i = 1 To UBound(a, 1)For j = 1 To UBound(a, 2) b(j, i) = a(i, j)Next jNext iDim s(1 To 10) As IntegerPrivate Sub Command1_Click()Dim i As Integer Text1 = "" For i = 1 To 10s

9、(i) = Int(Rnd * 90) + 10Text1 = Text1 & CStr(s(i) & " " Next End SubPrivate Sub Command2_Click()Dim m As Integer m = search(s, Val(Text2)If m > 0 ThenText3 = " 要查找的数是第 " & CStr(m) & " 个 元 素"ElseText3 = " 要查找的数不存在IIEnd IfEnd SubFunction search(x()

10、 As Integer, ByVal n As Int eger) As IntegerDim i As Integer search = -1For i = LBound(x) To UBound(x)If x(i) = n Then search = i Exit FunctionEnd IfNextEnd FunctionPrivate Sub Command3_Click()End11. 逆序数Private Sub Command1_Click() Dim n As String, s As StringDim i As Integer n = Text1For i = Len(n)

11、 To 1 Step -1s = s & Mid(n, i, 1)Next iText2 = sEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""End SubPrivate Sub Command3_Click()EndEnd Sub1. Fibonacci 函数。Private Sub Command1_Click()Dim n As Integer n = Text1Text2 = fib(n)End SubFunction fib(ByVal x As Integer)If x

12、= 1 Or x = 2 Thenfib = 1 As IntegerElsefib = fib(x - 2) + fib(x - 1)End IfEnd FunctionPrivate Sub Command2_Click()Text1 = ""Text2 = ""Text1.SetFocusEnd SubPrivate Sub Command3_Click()EndEnd Sub3. 矩阵不靠边元素和For j = 1 To 5a(i, j) = Int(Rnd * 90) + 10NextNextFor i = 1 To 5For j = 1 To

13、 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 Integer fun1 = 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)

14、Or jLBound(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

15、fact(i)Next iEnd SubFunction fact(ByVal n As Double) As Double If n = 1Thenfact = 1ElseHuiWenShu = FalseEnd IfEnd Functionfact = n * fact(n - 1)End IfEnd FunctionPrivate Sub Command2_Click()List1.ClearEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""Text3 = ""End

16、Sub5. 回文数Private Sub Command1_Click()RandomizeDim i As Integer, x As Integer, min As Intege rFor i = 1 To 500x = Int(Rnd * 9000) + 1000Text1 = Text1 & x & vbCrLfIf HuiWenShu(x) ThenText2 = Text2 & x & vbCrLfIf min = 0 Then min = xElseIf min > x Thenmin = xEnd IfEnd IfEnd IfNext iT

17、ext3 = minEnd SubOption Base 1Dim a(4, 4) As IntegerPrivate Sub Command1_Click()Dim b As Integer, c As IntegerDim i As Integer, j As Integer, temp As Integ erRandomizeFor b = 1 To 4For c = 1 To 4a(b, c) = Int(Rnd * 90) + 10Text1 = Text1 & a(b, c) & " "Next cText1 = Text1 & vbCr

18、LfNext bFor i = 1 To 4For j = 1 To i - 1 temp = a(i, j) a(i, j) = a(j, i) a(j, i) = tempNext jNext iFor i = 1 To 4For j = 1 To 4Private Sub Command3_Click()EndEnd SubFunction HuiWenShu(ByVal a As Integer) As B ooleanIf StrReverse(a) = a ThenHuiWenShu = TrueElsePrivate Sub Command3_Click()EndEnd Sub7

19、. 矩阵转置Text2 = Text2 & a(i, j) &Next jText2 = Text2 & vbCrLfNext iEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""End SubPrivate Sub Command3_Click()EndEnd Sub8. 靠边元素和Private Sub Command1_Click() Dim a(1 To 4, 1 To 4) As Integer Dim i As Integer, j As Integer Fo

20、r i = 1 To 4For j = 1 To 4a(i, j) = Int(Rnd * 10) + 0 NextNextFor i = 1 To 4For j = 1 To 4Picture1.Print a(i, j); NextPicture1.PrintNextText1 = fun1(a)End SubFunction fun1(x() As Integer) As DoubleDim i As Integer, j As Integer fun1 = 0For i = LBound(x, 1) To UBound(x, 1)For j = LBound(x, 2) To UBou

21、nd(x, 2)If i = LBound(x, 1) Or i = UBound(x, 1) Or j = LBound(x, 2) Or j = UBound(x, 2) Th en fun1 = fun1 + x(i, j)End IfNextEnd FunctionPrivate Sub Command2_Click()NextPicture1.Cls Text1 = "" End SubPrivate Sub Command3_Click()EndEnd Sub13. 水仙花数Private Sub Command1_Click()Dim i As Integer

22、, a As Integer, b As Integer, c As Integer For 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 If Next i End SubPrivate Sub Command2_Click()EndEnd Sub14. 顺序查找Dim s(1 To 10) As Integer Private Sub Command1_Click() Di

23、m i As Integer Text1 = ""For i = 1 To 10s(i) = Int(Rnd * 90) + 10Text1 = Text1 & CStr(s(i) & " " NextPrivate Sub Command2_Click()Dim m As Integer m = search(s, Val(Text2)If m > 0 ThenText3 = " 要查找的数是第 " & CStr(m) & " 个 元 素"ElseText3 = "

24、 要查找的数不存在 "End IfEnd SubFunction search(x() As Integer, ByVal n As Int eger) As IntegerEnd SubDim i As Integer search = -1For i = LBound(x) To UBound(x)If x(i) = n Then search = i Exit FunctionEnd IfNextEnd FunctionPrivate Sub Command3_Click()End15. 完全质因子数Next iFor i = 1 To 26 If a(i) <>

25、0 ThenList1.AddItem Chr(64 + i) & ":" & a(i) End If Next iEnd SubPrivate Sub Command2_Click()Text1 = ""List1.ClearEnd SubPrivate Sub Command1_Click()Dim i As Integer, j As Integer, s As Integer List1.Clear For i = 1 To 100s = 0For j = 1 To i - 1If i Mod j = 0 Then s = s +

26、 j End 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 Inte gerDim s As String * 1, str1 As String str1 = Text1 n = Len(str1)Fo

27、r i = 1 To ns = Mid(str1, i, 1)If UCase(s) >= "A" And UCase(s) <= "Z" Then a(Asc(UCase(s) - 64) = a(Asc(UCase(s) - 64) +End IfPrivate Sub Command3_Click()EndEnd Sub17. 最大公约数Private Sub Command1_Click()Dim m As Integer, n As Integer m = Val(Text1) n =Val(Text2)Text3 = gcd(m,

28、 n)Text4 = m * n / gcd(m, n)End SubFunction gcd(ByVal a As Integer, ByVal b As I nteger)As IntegerDim r As IntegerDor = a Mod ba = bb = rLoop Until r = 0 gcd = 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

温馨提示

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

最新文档

评论

0/150

提交评论