学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
编写一个VB程序,实现如下功能:输入s位数字构成的数字字符串(第1位数字不为0),移除k (0<k<s)个数字后,在保证原数字相对位置不变的情况下,使剩余数字组成的新数为最小(注:新数第1位不能为0)。例如8个数字构成的数字字符串“71803296”,移除3个数字,得到5位数字构成的最小数是“10296”,具体算法如图a所示。

算法分析:要使得到的5位数字最小,首先需保证能取到5个数字,且首位应尽量小,那么取首位数的范围应保证余下有4个数字,即在前4位中选最小非0的数字。
程序运行时,在文本框Text1中输入一个数字字符串,在文本框Text2中输入要移除的数字个数,单击“运行”按钮CmdRun后,在标签Labell显示得到的最小新数,程序运行界面如图b所示。

(1)程序运行时,若要在名为Form1的窗体标题上显示“删数”,可以在Form  Load事件处理过程中添加语句为_________(单选,填字母:A. Form1. Text ="删数"\B. Form1. Caption ="删数"\C. Form1. AddItem"删数")
(2)实现上述功能的VB程序代码如下,请在划线处填入合适的代码。
Private Sub CmdRun_ Click()
Dim Num As String,New_num As String     ' Num为输入的数字字符串
Dim i As Integer, j As Integer, m As Integer,
Dim As Integer, s As Integer, k As Integer
Dim a(30) As String, b(30) As Integer
Num = Text1. Text: s = Len(Num)
k = Val (Text2. Text)      'k为删除数字个数
For  i=1  To  s
a(i) = Mid(Num,i,1)
Nexti
j =1
m=1
n=_________
For i=m+l To n      '取第一个非零最小数字
If    Then m=I     '加框处程序代码有误,请改正
Next i
b(j)= m
Do While________      '取其他最小数字
m=m+1
n=n+1
For i=m+1 To  n
If  a(i) < a(m) Then m= i
Next i
j =j+1:b(j)=m
Loop
For i= m+1 To  s     '最后直接取的数字
j =j+1:b(j)=i
Next i
For j=1 To s- k       '输出最小数
New_ num =________
Next j
Labell. Caption = New_num
End Sub
(3)加框处程序代码有误,请改正。
____________________________
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交