题库 高中信息

题干

输入一个三位数的整数,要求将此三位数的各位上的数字重新排列,组成一个尽可能大的三位数。例如:输入213,重新排列可得到尽可能大的三位数是321。
现要求编写VB程序(运行界面如图所示),实现如下功能:在文本框Text1中输入一个三位数整数,单击“求解”按钮Command1,在文本框Text2中显示重新组合后的最大三位数整数。某同学按此要求编写的程序如下,其中函数max(x)用于求解最大三位数整数,但加框处代码有错,请改正。

①__________________②___________________
Function max(x As Integer) As Integer
Dim a As Integer, b As Integer, c As Integer, t As Integer
a =" x" \ 100
b = (x \ 10) \ 10 ' ①
c =" x" mod 10
If a < b Then t =" a:" a =" b:" b = t
If a < c Then t =" a:" a =" c:" c = t
If b < c Then t =" c:" c =" b:" b = t
max = c* 100 + b * 10 + a ' ②
End Function
Private Sub Command1_Click()
Dim n As Integer, y As Integer
n = Val(Text1.Text)
y = max(n)
Text2.Text = Str(y)
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2016-01-08 02:15:58

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

同类题5

星期天,小杰来到动物园游玩,园内共有 N 个景点,每个景点都有一个标号,标号为 1 至 N。现在只知道每个景点均有一条路连接下一个景点。小杰想知道,根据这些道路信息,从其中一个景点出发,最后再回到出发景点,最多能游玩多少个景点。
例如,共有 N=5 个景点,每个景点连接的下一个景点分别是2,4,5,5,2,
景点号
1
2
3
4
5
下一景点号
2
4
5
5
2
 
则他可以从 2 号景点出发,最多可以游玩 2号、4号、5号三个景点。

程序代码如下:
Private Sub Command1_Click()
Dim a(1 To 100) As Integer , d(1 To 100) As Integer '数组 a 存放下一景点号
Dim jd As String, m As String,c As Integer,I As Integer
Dim s As Integer, p As Integer,k As Integer,ans As Integer
jd=Text1. Text+,
s=0 : c=0
For i=1 To Len(jd)
m=Mid(jd,i,1)
If m<>, Then
s=s∗10+Val(m)
Else
c=c+1 :a(c)=s : s=0    '含义
End If
Next i
ans=0:k=0
For i=1 To c    '枚举游览起点
For k=1 To c
d(k)=0
Next k
If d(i)=0 Then
p=i
Do While p<=c
If d(p)=0 Then
k=k+1 :d(p)=k
Else
y=      '填空
If y>ans Then ans=y
k=0
Exit Do
End If
'改错
Loop
End If
Next i
Text2. Text=Str(ans)
End Sub
(1)若要实现显示“景点连接情况:”的 Text1 在程序运行时默认为空,则需要将 Text1 的_________________属性设置为空。
(2)若有 7 个景点,且每个景点的连接情况为 6,3,7,2,7,5,4,那么小杰最多可以游玩的景点数是_________________。
(3)程序代码中,有下划线的语句“a(c)= s”代表的含义为___________________________。
(4)程序代码中,在①处填空:y=_____________________。
(5)程序代码中,加框处代码有错,请改正:__________________________________。