题库 高中信息

题干

请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。比如给定范围为[2, 22],数字2在数2 中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2 在该范围内一共出现了6次。 小明编写如下图所示VB应用程序,在文本框Text1中输入区间左边界,在文本框Text2中输入区间右边 界,单击“统计数字”按钮Command1后,在标签框Label1中输出给定区间内所有整数中出现“2”的次 数。

(1)要使程序运行时,窗体Form1标题显示“统计数字”,则需在Form_Load事件过程中添加语句________
(单选,填字母:
A.Form1.Text="统计数字"/B.Form1.Caption="统计数字"/C.Form1.AddItem "统计数字")
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim left As Integer, right As Integer, s As String
Dim i As Integer, j As Integer, k As Integer, ch As String left = Val(Text1.Text)
right = Val(Text2.Text)
s = ""
k = 0
①________
Do While i <= right
s = s + Str(i)
i = i + 1
Loop
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch = "2" Then ②_____ 
Next i
Label1.Caption = Str(left) + "到" + Str(right) + "之间出现2的次数为" + Str(k) End Sub
(3)若在文本框Text1中输入300,在Text2中输入400,单击“统计数字”按钮后,标签Label1中显示的 内容是________。
上一题 下一题 0.99难度 填空题 更新时间:2019-03-02 03:53:03

答案(点此获取答案解析)

同类题3

(加试题)小王编写了一个依据成绩计算名次的VB程序,成绩为0到100之间的整数。算法的基本思想:先统计每个分数的个数,然后按照分数从高到低依次计算每个有效分数(该分数的个数不为0)对应的名次,分数相同时名次并列。最高分为第1名,该分数的名次与个数之和为下一个有效分数的名次,以此类推。程序用数组A存放每个分数对应的个数,数组B存放每个分数对应的名次。例如,下表中最高分100有2个,并列第1名,则分数96的名次为分数100的名次加上分数100的个数,即第3名。
分数
100
99
98
97
96
95
94

0
个数(A数组)
2
0
0
0
1
0
3

0
名次(B数组)
1
 
 
 
3
 
4

 
 
程序运行时,学生数据显示在列表框List1中,单击“计算”按钮Command1,计算结果显示在列表框List2中,程序运行界面如图所示。

实现上述功能的VB程序如下,请回答下列问题:
(1)如上表所示,若分数93的个数为2,则该分数对应的名次为_____________。
(2)请在划线处填入合适的代码。
Dim sName(1 To 50) As String '存放学生姓名
Dim sScore(1 To 50) As Integer    '存放学生分数
Dim recCount As Integer   '存放学生人数
Private Sub Form_Load()
'本过程从数据库中读取学生数据,存储在相应的变量中,并在List1中显示
'代码略
End Sub
'整数转换成长度固定的字符串
Function ads(x As Integer, n As Integer) As String
Dim sx As String, nx As Integer, i As Integer
sx =" Str(x):" nx = Len(sx)
For i =" 1" To n - nx
sx = " " + sx
Next i
__________①
End Function
Private Sub Command1_Click()
Dim A(0 To 100) As Integer    '存放每个分数的个数
Dim B(0 To 100) As Integer   '存放每个分数的名次
Dim mc As Integer, score As Integer, i As Integer
For i =" 0" To 100
A(i) = 0
Next i
For i =" 1" To recCount '计算每个分数的个数
___________②
Next i
mc = 1
For i =" 100" To 0 Step -1  '计算每个分数的名次
If A(i) <> 0 Then
B(i) = mc
___________③
End If
Next i
List2.Clear
List2.AddItem " 姓名  分数  名次 "
List2.AddItem " ---------------- "
For i =" 1" To recCount
score = sScore(i)
mc = B(sScore(i))
List2.AddItem sName(i) + ads(score, 5) + "第" + ads(mc, 3) + "名"
Next i
End Sub