Dim n As Integer , I As Integer
Dim s As String , ch As String
s=text1.Text
n=Len(s) '⑴
For I = 1 To n '⑵
ch=Mid(s,i,1)
If Asc(ch) >= 65 and Asc(ch) <= 97 Then
ch=Chr(Asc(ch)+32)
End If
Label1.Caption=Label1.Caption+ch
Next i
已知字母“A”的ASCII码65,字母“a”ASCII码97。若在Text1中输入“Happy2018”,则Label1中应显示( )
s = "2019.06 Visual Basic 6.0": n = 0 For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
m = Asc(ch) - Asc("0") + 1
a(m) = a(m) + 1
End If
Next i
For i = 1 To 10
If a(i) > 1 Then n = n + i
Next i
数组 a 各元素的初始值都为0,执行该程序段后,则变量n的值为( )
图中空白处理框①和②处应填入的是( )
程序代码如下:
Private Sub Command 1_Click()
Dim n As Integer,ans As Integer
n =Val(Text1.Text)
ans = n
Do While n>3 ‘
ans = ans + n\3
n = n\3 ‘
Loop
Label2.Caption = “总共能吃到的桃子数为:” + Str(ans)+“个”
End Sub
PRIVATE SUB FORM-------CLICK()
S=0
DIM I AS INTEGER, S AS INTEGER
FOR I= 2 TO 100
S=S+
NEXT I
PRINT S
END SUB
Dim i As Integer, j As Integer, min As Integer, c As Integer Dim a(1To10) As Integer
i=1
For j=1 To Len(Text1.Text)
If Mid(Text1.Text, j, 1)<>"," Then t=t+Mid(Text1.Text, j, 1)
Else
a(i)=Val(t)
t=""
i=i+1 End If
Next j
For i=1 To 9
For j=2 To 10-i+1
If a(j-1)>a(j) And a(j-1)Mod2<>0 Then temp=a(j-1) : a(j-1)=a(j) : a(j)=temp Next j
Next i
For i=1 To 10
Text2.Text=Text2.Text+Str(a(i))
Next i
程序运行后,在Text1文本框中输入“15,24,13,41,8,16,37,34,25,19,”,则Text2文本框中显示的内容为()
实现上述功能的VB程序如下,但横线处代码有错,请改正。
Const n = 8
Dim a(1 To n) As Integer
Private Sub Form_Load()
'排序前数据存储在数组a中,并在文本框Text1中显示代码略
End Sub
Private Sub Command1_Click()
Dim k As Integer, i As Integer, j As Integer, t As Integer
i = 1
Do While i <= n - 1
k = i
For j = i + 1 To n
If a(i) Mod 2 = 1 And a(k) Mod 2 = 0 Then '①
k = j
ElseIf a(k) Mod 2 = 0 And a(j) Mod 2 = 0 And a(j) > a(k) Then
k = j
End If
Next j
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
End If
i = i + k '②
Loop
'依次输出排序后的数据。代码略
End Sub
① ②
Dim a(1 To 5) As Integer
i =1: n=5
Randomize
Do While i<=n
x= Int(Rnd*9) +1
If x Mod 3=0 Then
a(i) =x: i=i+1
Else
a(n)=x: n=n-1
End If
Loop
数组元素的初值均为0,执行该程序段后,a(1)至a(5)的值不可能是( )
⑴用数组依次存储每个非降序数列中最大的元素(查找过程中的最大值),初始时b(1)为数组a第1个元素。
⑵加入方法:将a(i)与数组b中的每个元素依次逐个比较:
若a(i)不比b(j)小就用a(i)替换b(j)中的值;将a(i)添加到第j个非降序数列中,并连接到c数组的c(j)中。
若a(i)比b(j)都小,则在数组b最后添加新的元素值为a(i),即将a(i)添加到第j+1个下降数列中,并连接到c数组的c(j+1)中。
⑶若数组a各元素的值为:12,36,16,36,27,18时,则3个非降序数列分别为:“12,36,36”,“16,27”,“18”。
程序运行界面如下图所示:
小明依据上述描述设计了如下VB程序。请回答下列问题:
Const m=15
Dim a(1 To m) As Integer Private Sub Form_Load()
‘读取m个数据,依次存储到 a(1)、a(2)、……a(m)中,代码略End Sub
Private Sub Command1_Click()
Dim b(1 To m) As Integer '存储数列最大的值Dim c(1 To m) As String ‘存储非降序数列Dim i As Integer
Dim bottom As Integer Dim j As Integer
Dim bn As Integer ‘存储非降序数列的个数List1.clear
b(1) = a(1)
①
c(1) = Str(a(1))
For i = 2 To m
For j = 1 To bn
If ② Then
b(j) = a(i)
Exit For
End If
Next j
If j > bn Then
bn = bn + 1
③
c(b(n)) = Str(a(i))
End If
Next i
For i = 1 To bn
List1.AddItem c(i)
Next i
Text2.Text = "数列中共有" + Str(bn) + "个非降序序列"
End Sub
① ② ③
s= Text1.Text
For i= 1 To Len(s)
a(i) = Val(Mid(s, i, 1))
Next
L=1: R= Len(s) + 1
Do While L<R
m= (L+R) \2
If Then
R= m
Else
L=m+ 1
End If
Loop
Label1 .Caption = "原字符串的第"+ + "个字符被删除"
上述程序段2个方框处的代码分别为( )
Private Sub Form_click()
a=5
b=10
c=2*(a+b)
s=a*c
End Sub
Function btoh(s As String)As String
Dim i As Integer, s1 As String, t As Integer
Dim str As String, j As Integer
str="0123456789ABCDEF"
i= Len(s)
Do While i >=1
If ① Then
s1= Mid(s, i-3, 4)
Else
s1 = Mid(s; 1, i)
End If
t=0
For j =1 To Len(s1)
t= ②
Next j
btoh = Mid(str, t + 1, 1)+btoh
i=i-4
Loop
End Function
① ②
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
k = (Val(ch) - 1) Mod (Len(s) - 4) + 1
s1 = Mid(s, k, 1) + s1
End If
Next i
Text1.Text = s1
程序执行完后,Text1 中显示的内容是( )
A = 3:B = 4:C = 5:A = B:B = C:C = A ,