题库 高中信息

题干

小刘在玩一个数字游戏,给定一个n位正整数(n<=20),根据设定的保留位数,舍去一部分数字,剩下的数字按原次序组成一个最大的新数。例如原数34625803,保留4位,最大数为6803。算法是:先确定最高位的数字,在第1位至最后3位数字前的34625中找到最大的数6,从而确定最高位是6,再确定次高位的数字,从6后面的数开始到最后2位数字前的258中找到最大数8,确定次高位是8,依次找下去得到最大新数。他设计了一个VB程序来进行验证,在文本框Text1中输入一个n位正整数,在文本框Text2中输入保留的位数,点击“确定”按钮,在文本框Text3中输出保留的最大新数。程序运行界面如图所示。

(1)如果输入的原数是3635132,保留4位数字,则输出的新数是  。
(2)实现上述功能的VB代码如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim a(1 To 20) As String
Dim ys As String, xs As String 'xs记录最大的新数
Dim k As Integer, h As Integer, n As Integer
Dim i As Integer, j As Integer
Dim F As Boolean
xs = ""
ys = Text1.Text
n = Len(ys)
k = Val(Text2.Text)
F = True
If ys = "" Or n > 20 Or k =" 0" Or k > n Then
Label4.Caption = "输入的原数或保留位数不符,请重输!"
F = False
End If
For i =" 1" To n
①    
If a(i) < "0" Or a(i) > "9" Then
Label4.Caption = "输入的原数不是数字,请重输!"
Text1.Text = ""
F = False
End If
Next i
If F =" True" Then
h = 1
For i =" 1" To k
For j =" h" To     ②   
If a(j) > a(h) Then h = j
Next j
xs =" xs" + a(h)
h =" h" + 1
Next i
Text3.Text = xs
End If
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-02-28 02:40:06

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

同类题5

日期判断:从文本框Text1输入一个8位数字表示的日期,其中第1到4位表示年(第1位确定不为零),第5到6位表示月,第7到8位表示日。单击“判断”按钮,判断该日期是否合法,将结果依次输出到列表框List1。程序界面如下图所示:
提示:年份值符合下列两种情况之一的是闰年。
1.年份是4的倍数,但不是100的倍数;
2.年份是400的倍数。

(1)观察程序代码,可知“判断”按钮的对象名为 。(单选,填字母:
A.Text1/B.List1/C.Command1/D.Judge/E.判断)
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Judge_Click()
Dim riqi As String, st As String
Dim year As Integer, month As Integer, day As Integer
Dim rn As Boolean, hefa As Boolean
riqi = Text1.Text
year =" Val(Mid(riqi," 1, 4))
month =" Val(Mid(riqi," 5, 2))
day =        ‘第①处
st =" Str(year)" + "年" + Str(month) + "月" + Str(day) + "日"
rn = False  ‘用于判断是否为闰年
If  Then rn = True  ‘第②处
If year Mod 4 =" 0" And year Mod 100 <> 0 Then rn = True
hefa = True  ‘用于判断是否为合法日期
If month =" 0" Or month > 12 Then hefa = False
If day =" 0" Then hefa = False
If (month =" 1" Or month =" 3" Or month =" 5" Or month =" 7" Or  ’与下一行语句同行
month =" 8" Or month =" 10" Or month =" 12)" And day > 31 Then hefa = False
If (month =" 4" Or month =" 6" Or month =" 9" Or month = 11) ’与下一行语句同行
And day > 30 Then hefa = False
If     Then hefa =" False" ’第③处,判断闰年2月的天数是否合法
If month =" 2" And Rn =" False" And day > 28 Then hefa = False
If hefa =" True" Then st =" st" + " 合法日期" Else st =" st" + " 非法日期"
List1.AddItem st
End Sub