内容发布更新时间 : 2024/12/22 14:39:56星期一 下面是文章的全部内容请认真阅读。
Tag = True End If End Sub
6.8.子过程MoveStr()是把字符组移动m个位置, 当Tag为Ture是左移,则前m个字符一道字符数组尾 ,例如,“abcdefghij”左移3个位置后,结果为 “defghijabc”;。。。。。
Public Sub MoveStr(a $(),m%,Tag As Boolean) Dim i%, j%, t$ If Tag Then
For i = 1 To m c = a(0)
For j = 0 To UBound(a) - 1 a(j) = a(j + 1) Next j
a (UBound(a)) - 1 Next i Else
For i = 1 To m
c = a(UBound(a))
For j = UBound(a) To 1 Step -1 a(j) = a(j - 1) Next j a(0) = c Next i End If End Sub
6.9.子过程CountN用来统计字符串中各数字 字符(0-9)出现的个数;主调程序对在textbox1 框输入的文本,每次单击“统计”按钮,调用该子 过程,在Label1框显示结果。
Private Sub Command1_Click() Dim n(9) As Integer, i% Call CountN(n(), text1.Text) list1.Clear For i = 0 To 9
If n(i) Then list1.AddItem \字符\出现的次数为\ Next
End Sub
Sub CountN(ByRef num%(), ByVal s As String) Dim c As String * 1, i%, m%, j% For i = 0 To 9 num(i) = 0 Next i m = Len(s) For i = 1 To m
c = Mid(s, i, 1)
If c >= \ j = Val(c)
num(j) = num(j) + 1 End If Next i End Sub
6.11.下列程序中的子过程myplit。。用于实现split函数的功能,即将数字字符 s鞍分隔符“,”分离到sArry数组中,分离的个数为n。。。。
Private Sub Text1_KeyPress(KeyAscii As Integer) Dim strl As String, num(100) As Integer, n%, i% If KeyAscii = 13 Then
str1 = Trim(Text1.Text) Call MySplit(str1, num, n) list1.Text = \ For i = 1 To n
list1.AddItem num(i) Next End If End Sub
Sub MySplit(ByVal str1 As String, ByRef sn() As Integer, ByRef n As Integer) Dim i%, j%, ch$ i = 0
j = InStr(Str, \ Do While j > 0
sn(i) = Val(Mid(str1, 1, j - 1)) str1 = Mid(str1, j + 1) i = i + 1
j = InStr(str1, \ Loop
sn(i) = Val(str1)
n = i End Sub
1工程中有两个窗体form1和form2,一个标准模块module1,设在form1中定义了过程aa,在module1中定义了过程bb。 Sub aa(x, y, z)
z = x * x + y * y End Sub
Sub bb(x, y, z) z = x ^ 3 + y ^ 3 End Sub
当在form1中单击命令按钮时,调用以上过程计算两个数的平方和和立方和,并分别将计算结果显示在文本框text3和text4中,请填空完成调用语句。 Private Sub Command1_Click() a = Val(Text1.Text) b = Val(Text2.Text)
Call [aa(a,b,c1) ] Text3.Text = c1
bb [a,b,c2 ] Text4.Text = c2 End Sub
――――――――――――――――――
2下面的程序用于根据文本框X中输入的内容进行以下处理:若X为2、4、6,则打印\的值为2、4、6\;若X在11到15之间,则打印\的值为大于等于11小于等于15\;若X大于20,则打印\的值大于20\;否则,打印\不在范围内\。 Private Sub Command1_Click() Select Case Val(X.Text) Case [2,4,6 ]
Print \的值为2,4,6\ Case [11 to 15 ]
Print \的值为大于等于11小于等于15\ Case Is >20
Print \的值大于20\ Case Else
Print \不在范围内\ End Select End Sub
――――――――――――――
3下面的程序是使用冒泡法对数组进行排序,请将程序补充完整。 Option Base 1
Private Sub Command1_Click()
Dim iA(0 To 10) n = 6
iA(0) = 8: iA(1) = 6: iA(2) = 9: iA(3) = 3: iA(4) = 2: iA(5) = 7 For i= 1 To n - 1 ' 进行n-1遍比较 ' 对第i遍比较时,大数沉底
For [j=1 to n-i ] ' 在数组 i~n个元素中选最小元素的下标 If [ iA(j) > iA(j+1) ] Then t = iA(j)
iA(j) = iA(j + 1) iA(j + 1) = t End If Next j End Sub
――――――――――――
4 程序的功能是使用辗转相除法求两个数的最大公约数。 Private Sub Command1_Click() Dim m%, n%
m = Int(InputBox(\ n = Int(InputBox(\ Print gcd(m, n) End Sub
Public Function gcd%(m%, n%) Dim t%
If [ m r = m Mod n If r = 0 Then Exit Do m = n [ n=r ] Loop gcd = n End Function ――――――――― 5、输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEF”变换成“FEDCBA”。请将程序补充完整。 Private Sub Command1_Click() Dim a$, i%, c$, n% 'n存放字符串的长度 a = InputBox(\ n = [Len(a) ] For i = 1 To Int(n / 2) c = Mid(a, i, 1) Mid(a, i, 1) = [ Mid(a,n-i+1,1) ] Mid(a, n - i + 1, 1) = c Next i End Sub ―――――――――― 6、下面的程序允许用户按Enter(回车)键后,将组合框中没有的项目添加到组合框。请将程序补充完整。 Private Sub Combo1_KeyPress(KeyAscii As Integer) Dim flag As Boolean If KeyAscii = 13 Then flag = False For i = 0 To Combo1.ListCount - 1 '查找项目是否已存在 If [ combo1.text=combo1.list(i) ] Then flag = True Exit For End If Next i If flag = False Then '不存在则添加 [ combo1.AddItem combo1.Text ] End If End If End Sub ――――――――― 7、下面的程序是使用选择法对数组进行升序排列,请将程序补充完整。 Option Base 1 Private Sub Command1_Click() Dim iA(1 To 10) n = 6 iA(1) = 8: iA(2) = 6: iA(3) = 9: iA(4) = 3: iA(5) = 2: iA(6) = 7 For i = 1 To n - 1 ' 进行n-1遍比较 iMin = i ' 对第i遍比较时,初始假定第i个元素最小 For [ j=i+1 to n ] ' 在数组 i~n个元素中选最小元素的下标 If [a(j) t = iA(i) 'i~n个元素中选出的最小元素与第i个元素交换 iA(i) = iA(iMin) iA(iMin) = t Next i End Sub ――――――――――― 8、找出被3、5、7除,余数均为1的最小的5个正整数。 Private Sub Command1_Click() Dim countn%, n% n = 1: countn = 0 Do n = n + 1 If [ n mod 3=1 And n mod 5=1 And n mod 7=1 ]Then