图1
Private Sub Command1_Click()
Dim i as integer, j as integer, c As Integer
Dim n As Long
c = 0
For i = 0 To 99
n = 110800 + i
If ① Then
List1.AddItem Str(n) + " " + "5"
②
End If
Next i
Label2.Caption = "满足条件的数有:" + Str(c) + "组"
End Sub
① ②
Private Sub Command1Click()
Dim a(-1 To 8) As Integer
Dim i As Integer
For i = -1 To 8
a(i) = i * i
Next i
List1.AddItem Str (a(i))
End Sub
运行程序,单击命令按钮Command1后,出现的错误提示为
现要求编写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
Private Sub Command1_Click()
Dim s As String, i As Integer
s = ""
For i = 1 To 10 Step 2
s = Str(i) + s
Next i
Text1.Text = s
End Sub
运行程序,单击命令按钮Command1后,在文本框Text1中显示的内容为( )
Private Sub Command1_Click()
Dim S As String,c1 As String,c2 As Integer
Dim n As Integer,i As Integer
Dim f As Boolean
s=Text1.Text
n=Len(S)
f=True
For i=1 To n\z
c1= ①
c2=Mid(s,n-i+1,1)
If c1<>c2 Then
f=False
Exit For
EndIf
Next i
If ② Then
Label2.Caption=“对称”
Else
Label2.Caption=“不对称”
EndIf
End Sub
① ②
实现该功能的VB程序段如下:
Function space(x As Integer)As String ‘输出格式化,设置左侧的空格数量
Dim n As Integer
For n=9 To x Step-1
①
Next n
End Function
Private Sub Form_Load()
Dim t As Long,i As Integer,n As String
Dim a(1 To 9)As String
Dim b(1 To 9)As String
Const num=“987654321”
For i=1 To 9
t=t*10+i
a(i)=space(i)+CStr(t) ‘CStr函数的功能是将数值转为字符,转换时不会添加空格
②
n=n+a(i)+“*8+”+CStr(i)+“=”+b(i)+Chr(13) ‘Chr(13)实现换行处理
Next i
Label1.Caption=n
End Sub
在程序中①画线处应填入;
在程序中②画线处应填人。
Private Function f(x As Single, n As Integer) As Single
If n =0 Then
f =1
Else
If n Mod 2 =1 Then
f=x * f(x, n\2)
Else
f=f(x, n\2) \x
End If
End If
End Function
Private Sub Command1_Click()
Label1.Caption=Str(f(4, 6))
End Sub
程序运行时,单击按钮Command1,标签Label1显示的内容是( )
图a
函数 IsLetter(x)功能,若 x 是字母,则返回值为字母 x 在字母序列“A”~“Z”中的序号,如字母“A”的序号为 0,字母“D”的序号为 3。若 x 不是字母,则返回值为-1。
Function IsLetter(x As String) As Integer
If ”A” <= x And x <= ”Z” Then
IsLetter = Asc(x) - Asc(”A”)
ElseIf ”a” <= x And x <= ”z” Then
IsLetter = Asc(x) - Asc(”a”)
Else
①
End If
End Function
Private Sub Command1_Click()
Dim f(25) As Integer, m As Integer, n As Integer
Dim s As String, c As String
List1.Clear
For m = 0 To 25 '初始化数组 f
f(m) = 0
Next m
s = Text1.Text
For m = 1 To Len(s)
c = Mid(s, m, 1) '依次读取字符串中的每个字符进行判断
②
If n <> -1 Then f(n) = f(n) + 1
Next m
For m = 0 To 25
If ③ Then '输出统计结果,没有出现的字母不输出
List1.AddItem(Chr(m + Asc(”a”)) & ”:” & f(m))
End If
Next m
End Sub
① ② ③
Private Sub Command1_click ( )
Dim n As Integer , x As Integer
n = Val ( Text1.Text )
x = n Mod 10
n = x * 1000 + n \ 10
Text1.Text = Str ( n )
End Sub
Private Sub Command1_Click()
Dim x As Integer, m As Integer
m = 3
For x = 1 To 5
If m > 3 Then m = m + 2 Else m = m - 1
Next x
Text1.Text = Str(m)
End Sub
小张编写了一个2查找孪生素数对(差值为 2)的 VB 程序,功能如下:在文本框Text1中输入一个整数n(n≤1000000),单击“求素数对”按钮Command1,在列表框List1中显示2到n范围内的素数,在标签Label2中显示素数个数,在标签Label3中显示孪生素数对个数。程序运行界面如图所示。
实现上述功能的 VB 程序如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim n As Long, i As Long, j As Long
Dim tAs Long '存储素数个数
Dim countAs Integer '存储素数对个数
Dim p As Long
Dim a(2 To 10000000)As Integer
n = Val(Text1.Text)
For i = 2 To n
a(i) = 1
Next i
p = 2
Do While p <= Int(Sqr(n))
If a(p) = 1 Then
j = 2
Do While j <= n \ p
'(1)
j = j + 1
Loop
End If
p = p + 1
Loop
t = 0
For i = 2 To n
If a(i) = 1 Then t = t + 1
Next i
count = 0
For i = 2 To n - 2
If Then '(2)
count = count + 1
List1.AddItem ads(i, 1) & ads(i + 2, 5)
End If
Next i
Label2.Caption = "总共有" + Str(t) + "个素数"
Label3.Caption = "其中有" + Str(count) + "个孪生素数对"
End Sub
Function ads(xAs Integer, n As Integer) As String
'整数转换成长度固定的字符串,代码略
End Function
算法分析:从A点到B点共有7个路口,即可以有一个7位二进制数表示所走路线。观察以上路线,枚举所有满足路线特征的7位二进制数,再去掉不满足的二进制数即可。
Private Sub Command1_Click()
Dim b As String, t As Integer, i As Integer, c As Integer, d As Integer
t = 0 '可走路线计数
For i = 15 To 120 '所有可走路线用十进制枚举
d = i
c = 0
b = ""
Do While d <> 0
If d Mod 2 = 1 Then
b = "1" + b
c = c + 1
If c > 4 Then Exit Do '若"1"的总数超过 4 个表示路线错误,需退出 Do 循环
Else
①
End If
②
Loop
If c = 4 And Len(b) = 7 Then
t = t + 1
List1.AddItem b
End If
Next i
Label1.Caption = Str(t) + " 条"
End Sub
① ②
s=int(input("请输入购买矿泉水的数量(多少瓶):"))
p=float(input("请输入矿泉水的单价(每瓶多少元):"))
if s<10:
j=1.0
if s>=10 and s<=24:
j=0.9
if s>24:
j=0.8
t=s*p*j
print("总费用为:","%.2f"%t,"元")
如果输入的是18 2,则程序运行的结果为( )
Private Sub Form_Click()
a = "123": b = "456"
c = Val(a) + Val(b)
Text1.Text=str(c\100)
End Sub
①根据考生的考试总分从高到低依次对考生的填报志愿进行投档;
②每位考生可填三个志愿学校,轮到该考生投档时依次对其三个志愿进行投档,若第一志愿学校还有剩余招生名额,就被第一志愿学校录取,结束该考生的投档,否则需对其后续志愿学校进行同样的投档操作,若该考生所填的所有志愿学校都没有剩余招生名额,则该考生无法被任何学校录取,该考生的投档结束。
③当所有学校都已完成计划招生数时,停止投档,录取结束。
编写 VB 程序,实现上述“平行志愿”投档录取的功能,单击“读取考生数据”按钮 Command1, 则从数据库中获取所有考生的成绩、志愿信息以及每个学校的计划招生数,单击“投档录取”按钮 Command2,开始进行投档录取, 并在列表框 List1 中输出每个学校的计划招生数、实际招生数、录取分数线和最低录取名次信息,程序运行界面如图所示。请回答下列问题:
Const schCnt = 5 '学校数量
Const stuMaxCnt = 10000 '最多考生人数
Dim zsCnt(1 To schCnt) As Integer '存储每个学校的计划招生人数
Dim zsCnt2(1 To schCnt) As Integer '存储每个学校的实际招生人数
Dim a(1 To stuMaxCnt) As Single '存储考生总分成绩
Dim b(1 To stuMaxCnt * 3) As Integer '存储考试志愿,每个考生有3个志愿,每个志愿为学校编号
Dim stuCnt As Integer '实际考生总人数
Private Sub Command1_Click()
'从数据库中读取所有考生的总分和志愿信息存储到数组a和数组b中(第1个考生总分存储到a(1),第1个考生的3个志愿分别存储到b(1)、b(2)、b(3)中, …),然后按总分对数组a和数组b进行降序排序,总分相同时,需根据各科成绩决定排序先后,但名次相同,考生总人数存储到stuCnt变量中;
'读取每个学校的计划招生数,存储到数组zsCnt中;
'以上功能代码略
End Sub
Private Sub Command2_Click()
Dim sch As Integer '学校代码,用1~5中的一个数字表示某学校代码
Dim i As Integer, j As Integer, finished As Integer, prevScore As Single
Dim stuMc(1 To stuMaxCnt) As Integer
Dim MinScore(1 To schCnt) As Single
Dim MinMc(1 To schCnt) As Integer
finished = 0: i = 1
prevScore = -1
Do While
If a(i) = prevScore Then
stuMc(i) = stuMc(i - 1)
Else
End If
prevScore = a(i)
For j = 1 To 3
If zsCnt2(sch) < zsCnt(sch) Then
zsCnt2(sch) = zsCnt2(sch) + 1
MinScore(sch) = a(i)
MinMc(sch) = stuMc(i)
Exit For
End If
Next j
finished = 0
For j = 1 To schCnt
If zsCnt2(j) = zsCnt(j) Then
finished = finished + 1
End If
Next j
i = i + 1
Loop
'在List1中输出每所学校的代码、计划招生数、实际招生数、录取分数线、最低录取名次,代码略
End Sub
a=32
b=14
c=a%b
print(c)
s = Text1.Text
s1 = ""
For i = 1 To Len(s) \ 2
m = Mid(s, i, 1)
n = Mid(s, n - i + 1, 1)
If m > n Then
s1 = s1 + m + n
Else
s1 = s1 + n + m
Next i
Text2.Text = s1
在Text1中输入“8523691”,则执行该程序后,Text2中输出的是( )
info=[3,7,4,9,11,23,6]
x=info[1]
y=info[6]
z=info[3]
sum=x+y+z
print(sum)
运行程序后,输出的值正确的是( )
Private Sub Command1_Click()
Dim a(1 To 100)As Integer, b(1 To 100)As Integer, c(1 To 1000)As Integer
Dim lenc As Integer, i As Integer, j As Integer
Dim s1 As String, s2 As String, output As String
s1= Text1. Text: s2 = Text2. Text: Text3. Text =""
For i = 1 To Len(s1)
a(i) = ‘将文本框Text1中的自然数按从低位到高位的顺序依次存放在数组a(1),a2......a(len(s1))中
Next i
‘将文本框Text2中的自然数按从低位到高位的顺序依次存放在数组b(1),b(2)......b(len(s2))中,代码略
lenc=
For i = 1 To Len(s1)
For j = 1 To Len(s2)
c(i + j -1)= c(i +j -1)+a(i)*b(j)
c(i +j) =
c(i +j -1)=c(i +j -1) Mod 10
Next j
Next i
If c(lenc +1)> 0 Then
output =""
For i =len c To 1 Step -1
output =
Next i
Text3. Text = output
End Sub
Dim a(1 To 3) As Single,i As Integer
Randomize
a(1) = 1
For i =2 To 3
a(i) = (Int(Rnd() * 3)) *2- 2
a(i) = Abs(a(i - 1)) / Sqr(a(i))
Next i
List1.AddItem Str(a(i))
运行该程序段,下列错误提示不可能会出现的是( )