(加试题)火柴棒等式。用火柴棒可以摆出0-9的数字,摆放规则如下图所示:

有一种火柴棒游戏,将火柴棒摆成形如“A+B=C”的火柴棒等式。用n根火柴棒摆放数学等式的规则约定如下:
(1)A、B都是不大于1000的正整数,若数值非零,则最高位不能是0  
(2)摆放“+”与“=”各使用两根火柴棒
(3)A+B=C 与 B+A=C 视为相同的等式
(4)n根火柴棒必须全部用上
小明依据上述规则使用VB编写程序,研究“使用n根火柴棒,可以摆放出哪些不同的等式”,代码如下所示。请回答下列问题。
(1)请在划线处填入合适的代码。①__________,②__________,③________;
(2)某次运行程序时,显示的等式中包含“7+17=24”,根据程序分析,输入的n的值为:______
Dim sz(0 To 9) As Integer   ’数组元素sz(i)用于存储数字i所使用的火柴棒的数量
Private Sub Form_Load()
sz(0) = 6  :  sz(1) = 2  :   sz(2) = 5  :   sz(3) = 5  :  sz(4) = 4
sz(5) = 5  :  sz(6) = 6  :   sz(7) = 3  :   sz(8) = 7  :  sz(9) = 6
End Sub
‘自定义函数hcs用于求解摆放数字x需要使用的火柴棒数量
Function hcs(ByVal x As Integer) As Integer  
Dim s As Integer,k as integer
s = 0
Do While
k = x Mod 10
s=s+sz(k)
x = x \ 10
Loop
hcs = s + sz(x)
End Function
Private Sub Command1_Click()
Dim n As Integer
Dim a As Integer, b As Integer, c As Integer
n = Val(Text1.Text)
ans = 0
List1.Clear
For a = 0 To 999
For b =       To 999
c = a + b
If      Then    
List1.AddItem (Str(a) + "+" + Str(b) + "=" + Str(c))
ans = ans + 1
End If
Next b
Next a
List1.AddItem ("共有" + Str(ans) + "种等式")
End Sub
当前题号:1 | 题型:填空题 | 难度:0.99
一个三位正整数,它是一个奇数,它的百位数、十位数、个位数之和为9的倍数,例如225。试求所有满足上述条件的数的和。
(1) 我们可以用_____算法来完成本题。
(2) 假设我们通过某一方法得到一个三位数X各位数字之和为S,如何判断S是9的倍数?写出VB语言的关系表达式______________
(3) 用VB语言完成本题。__________
当前题号:2 | 题型:填空题 | 难度:0.99

   (加试题)小李同学碰到了一个数学问题:400个同学按顺序进行编号后围成一个大圈,按1至2报数(从1号位置开始),报到2的同学出列,以此一直循环报数下去,问最后剩下的那位同学他的编号是几号?

例如以6个同学编号为例,按1至2报数(从1号位置开始)依次出列的编号次序为2-4-6-3-1-5,那么最后剩下的就是编号为5的同学。

为了解决这个问题,小李用VB编写了如下程序尝试解决,其中列表list1显示出列的顺序编号,文本框text1中显示最后留下的编号,程序代码如下(测试界面如下图):

Private Sub Command1_Click()
Dim s, f, t As Integer
Dim a(1 To 400) As Boolean
For i = 1 To 400
a(i) = False
Next i
s = 0
f = 0
i = 0
Do While f < 399
i = i + 1
If i = 401 Then i = 1
If a(i) = False Then s = s + 1
If s = 2 Then  
2    
List1.AddItem Str(i)
a(i) = True
f = 3  
End If
Loop
For i = 1 To 400
If 4    Then text1.text=str(i)
Next i
End Sub
为实现程序功能,在程序划线处应填入的代码为:
(1)    _________________
(2)    _________________
(3)    _________________
(4)    _________________
当前题号:3 | 题型:填空题 | 难度:0.99
求孪生素数。孪生素数要求为:两个相邻奇数且都是素数。下列Visual Basic程序用于查找100以内的所有孪生素数,其中自定义函数judge用于判断一个数是否是素数,程序运行界面如左图所示,Command1鼠标单击事件过程的流程图如右图所示。请在划线处填入相关代码。

程序代码如下:
Private Sub Command1_Click()
Dim i As Integer
List1.Clear    '清除列表框内容
For i = 3 To 97 ______
If judge(i) And    ____ Then
List1.AddItem Str(i) + " 和 " + Str(i + 2)
End If
Next i
End Sub
Function judge(x As Integer) As Boolean   
Dim j As Integer
judge = True
For j = 2 To Int(Sqr(x))
If x Mod j = 0 Then
judge = false   
Exit For  
End If
Next j
End Function
将加框部分转换为Do While条件循环结构,部分代码如下:
Private Sub Command1_Click()
Dim i As Integer
i = 3
Do While i <= 97
'循环内语句块与加框处循环内语句块相同
________
Loop
End Sub
当前题号:4 | 题型:填空题 | 难度:0.99

   随机产生15个A-J的大写字母,按字母降序排序后,将连续出现的字母用压缩的形式显示。例如,连续5个H字母显示为5*H,如图所示,请在划线处填入合适代码。  

Sub command1_Click( )
Const N = 14
Dim a(1 to n) As Char, c As Char   ‘数组a用于存储随机产生字母
Dim count, i, k, j as integer
Label1.caption = ""
For i = 0 To N
a(i) = ________
Label1.caption = a(i) & " "
Next i
For i = 0 To N - 1
k = i
For j = i + 1 To N
If a(j) > a(k) Then_________  
Next j
c = a(i) : ___________: a(k) = c
Next i
For i = 0 To N '输出排序的结果
Label1.caption = a(i) & " "
Next i
i = 0
Do While i <= N '压缩显示相同元素   
count = 1
If i < N Then j = i + 1
Do While a(i) = a(j)
If i <> j Then count = ____________
If j < N Then j = j + 1 Else Exit Do
Loop
If count = 1 Then
Label1.caption = a(i) & " "
Else
Label1.caption = ___________  
End If
i = i + count
Loop
End Sub
当前题号:5 | 题型:填空题 | 难度:0.99

   (加试题)n个数从小到大选择排序需要经过n-1遍加工,每遍加工从未排序的数据元素中找出最小的元素与当前元素进行交换。小天同学学习了选择排序算法和函数的知识后,编写了一个VB程序,功能如下:运行程序时首先在列表框List1中显示10个不小于10且不大于99的随机自然数,单击“排序”按钮Command1后,在列表框List2中显示这些数据按从小到大排序后的结果,运行结果如图所示。


实现上述功能的VB代码如下,但划线处有错,请改正。
Dim a(1 To 10) As Integer '定义数组a
Private Sub Form_Load()
Randomize
For i = 1 To 10  '产生10个不小于10且不大于99的随机自然数,并依次存放在数组a中
a(i) = Int(Rnd * 100) '①
List1.AddItem Str(a(i))
Next i
End Sub
'Find_min函数寻找与当前元素a(x)需要交换的数组元素下标
Function Find_min(x As Integer)
Dim k As Integer, j As Integer
k = x
For j = x + 1 To 10
If a(j) < a(k) Then k = j
Next j
Find_min = k
End Function
Private Sub Command1_Click()
Dim i As Integer, k As Integer, t As Integer
For i = 1 To 9
k = Find_min(i+1)     '②
If k <> i Then
t = a(i): a(i) = a(k): a(k) = t
End If
Next i
For i = 1 To 10
List2.AddItem Str(a(i))
Next i
End Sub
(1)加框处①有错,应改为__________________________。
(2)加框处②有错,应改为__________________________。
当前题号:6 | 题型:填空题 | 难度:0.99

   编写一个VB程序,功能如下:在文本框Text1中输入十六进制数(取值范围21至7E), 单击按钮Command1进行转换,并将其对应的ASCII字符显示在文本框Text2中。程序运行界面如图所示。

(1)在设计程序界面时,要使按钮Command1上显示的文本为“转换”,应修改该按钮的______________属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, n As Integer, d As Integer
   
Dim ch As String, h As String
d = 0
___________
For i = 1 To Len(h)
ch = Mid(h, i, 1)
If ch >= "A" And ch <= "F" Then
n = Asc(ch) - Asc("A") + 10
Else
n = ____________
End If
d = d + n * 16 ^ (Len(h) - i)
Next i
Text2.Text = Chr(d)
End Sub
(3)运行该程序,在文本框Text1中输入3F,单击“转换”按钮,则变量d的值是_______。
当前题号:7 | 题型:填空题 | 难度:0.99

   数字频率统计:小王编写 VB 程序,实现如下功能:在文本框中输入一串任意字符串(含数字),单击“统计”按钮 Command1,在列表框 List1 中统计并输出数字 0~9 出现的次数。运行界面如图所示,VB 程序代码如下。

 

(1)根据代码可知,文本框对象的名称为________________________。
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim a(0 To 9) As Integer, s As String Dim k As String, i As Integer
s = Tabc.Text
List1.Clear
For i = 1 To Len(s)
_____
If k >= "0" And k <= "9" Then
_____
S=k+s
End If
Next i
For i = 0 To 9
List1.AddItem Str(i) & "出现了:" & a(i) & "次"
Next i
End Sub
(3)如果输入的是“hello 8102!” ,执行完以上程序后,变量S的值为________
当前题号:8 | 题型:填空题 | 难度:0.99
编写“加法练习题生成器”程序,实现如下功能:在文本框Text1中输入题数n,单击“生成”按钮Commandl,在列表框Listl中显示n个两数之和小于100的加法练习题。程序运行界面如图1所示。

图1 图2
(1)在设计程序界面时,应使用图2所示“控件工具箱”中的________(填写相应编号)添加“生成”按钮。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()

Dim n As Integer, i As Integer, a As Integer, b As Integer

Randomize

n = Val(Text1.Text)

i = ________

Do While i <= n

    a = Int(Rnd * 100)

    b = Int(Rnd * 100)

    If _____ Then

List1.AddItem "(" + Str(i) + ")" + Str(a) + "+" + Str(b) + "="

i = i + 1

    End If

Loop

End Sub
(3)运行该程序,在文本框中输入5,单击“生成”按钮后,对语句a = Int(Rnd * 100)执行次数的描述,最合理的是________(单选,填字母:
A.执行次数等于5 /B.执行次数大于等于5 /C.执行次数小于等于5)
当前题号:9 | 题型:填空题 | 难度:0.99
有如下VB程序:
s=Text1.Text
s1=" "
For i=1 To Len(s)
c=Mid(s, i, 1)
If  c>="A" And c<="Z"   Then
c=Chr(Asc(c)+32) '大写字母转化为小写字母
End if
s1=s1+c
Next i
Text2.Text=s1
在文本框Textl中输入"ABcd12XY ",执行上述程序段后,文本框Textl显示的内容是(   )
A.abcd12XYB.abcd12xyC.ABCD12XYD.ABcd12xy
当前题号:10 | 题型:选择题 | 难度:0.99