算法加试题一周一练(4)
行政班: 教学班: 姓名: 学号:
【加试题】小明编写了一个寻最长连续相同子串的程序,功能如下:程序运行时,在文本框Text1中输入一个字符串。单击按钮Command1后,在标签上显示最长相同子串。程序运行界面如下图所示:
①
B
D
C
A
图a 图b
(1)如图要在窗体上添加①所指的对象,应该在“图b”中选择 (填字母)。
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Private Sub Command1_Click()
Const size = 100
Dim a(1 To size) As String '用于存储字符串中的每个字符
Dim zf As String '用于存储字符串
Dim i As Integer, n As Integer
Dim max As Integer, count As Integer 'max用于存储最长相同子串
Dim pos As Integer
zf = Text1.Text
For i = 1 To n
a(i) = Mid(zf, i, 1)
Next i
count = 1: max = 1
For i = 2 To n
If a(i) = a(i - 1) Then
count = count + 1
Else
If count > max Then
pos = i
End If
count = 1
End If
Next i
Label1.Caption = "最长相同子串为:" +
End Sub
【加试题】在VB算术运算中,最大的Double类型有效数字也只有15位。为了实现除法运算的商可以保留任意位数,小明根据除法原理的原理,编写了的如下程序。功能如下:程序运行时,在文本框Text1中输入被除数(正整数),在文本框Text2中输入除数(正整数),在文本框Text3中输入小数位数(正整数)。单击按钮Command1后,在标签上Label2显示除法运算的商。程序运行界面如下图所示:
①
图a
(1)如图a所示要在窗体上有 个对象属于文本框Text类。
(2)如图a要在①所指的内容,应该修改该对象的 属性。
(3)代码中“Command1_Click”是 (填字母:A.对象名/B.方法名/C.事件名/D.事件处理过程名)。
Private Sub Command1_Click()
Dim x As Integer '用于存储被除数
Dim y As Integer '用于存储除数
Dim n As Integer '用于存储小数位数
Dim s As String '用于存储商
x = Val(Text1.Text)
y = Val(Text2.Text)
n = Val(Text3.Text)
s = s + Str(x \ y)
s = s + "." '添加小数点
k =
i = 1
Do While i <= n
k = k * 10
s =
k = k Mod y
Loop
Label2.Caption = "商为:" + s
End Sub
答案:
第一题
n = Len(zf)
max = count
Mid(zf, pos - max, max)
第二题
x Mod y
s + Str(k \ y)
i = i + 1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论