s = Text1.Text
For i=1 To Len(s)
ch = Mid(s,i,1)
If ch>="A" And ch<="Z" Then t=t+ch
If ch>="a" And ch<="z" Then
ch = Chr(Asc(ch)-32)
t=t+ch
ElseIf ch >= "0"And ch <= "9" Then
t=ch+t
End If
Next i
Text2.Text = t
已知'A'的ASCI码为65,'a'的ASCI码为97。程序运行后,在文本框Text1中输人“Text2.text=”Abc1234“”(外括号不包括),则在Text2中显示的内容是( )
实现此功能的VB程序段如下,已知程序中两处标记①的位置表达式相同,程序中①、②两处表达式为( )
Dim a(1 To 100) As Sting
For i= 1 To 10
For j=1 To 10
If i=j Or i Mod 10=0 Or i Mod 10= 1
Then
a( ① )="●"
Else
a( ① )="○"
EndIf
Next j
Next i
For i= 1 To 100
s=s+ a(i)
If ② Then
List1.Addltem s
End If
Next i
a(1)=0: a(2)=3: a(3)= 5: a(4)=7
a(5)= 9: a(6)= 11: a(7)= 13: a(8)= 15
a(9)= 17: a(10)= 19
key= Int(Rnd*5)*2+5
s=" "
i=1: j= 10
Do While i<= j
m=(i+j)\2
s=s+ Str(a(m))
If a(m)>key Then
j=m-1
Else
i=m+1
End If
Loop
Text1.Text= s
小李编写了如下程序求解10个人的出列顺序。程序运行界面如图15-1所示,点击求解按钮后,在Text1中输出出列顺序,在Text2中显示随机数据的值。
Private Sub Command1 _Click( )
Dim ld(1 To 10) As Boolean, i As Integer, j As Integer
Dim rs As Integer, C As Integer, m As Integer
Randomize
For i=1 To 10
ld(i) = True ‘数组元素为True表示第i人当前在队列中
Next i
c=0:rs=10
m =Int(Rnd*3)*2+3
Do While rs <> 0
If ld(i) = True Then
If c=m Then
ld(i) = False
Text1.Text = Text1.Text + Str(i)
c=0
End If
End If
i =i-1
If Then i=10
Loop
End Sub
运行程序,点击“数据导入”按钮后,在列表框list1中显示所有数据。点击“排序"按钮,按总分从高到低计算名次(成绩相同的名次相同),并按排名先后在列表框list2中显示,数据要求对齐。程序运行界面如图16-1所示:
Dim cj(1 To 100) As Integer
Dim b(1 To 301) As Integer '分数为i的人数存入b(i)
Private Sub Cmdl_ Click( )
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString = "Provider =Microsoft.ACE.OLEDB.12.0;Data Source= " &App.Path& "\studentaccdb"
conn.Open
Set rs.ActiveConnection = conn
rs.Open "SELECT*FROM cj"
n =1
Do While Not rs.EOF
cj(n)= rs.Fields("语文"):cj(n+1) = rs.Fields("数学")
cj(n+2) = rs.Fields("英语"):cj(n+3) = cj(n)+cj(n+1)+cj(n+3)
rs.MoveNext
Loop
rs.Close:conn.Close
'此处代码略,用来实现将数据在list1中输出
End Sub
Private Sub paixu_ Click( )
Dim mc As Integer
'预处理求b数组的值
For j=4 To 100 Step 4
Next j
'以下程序用于计算名次并按要求对齐输出
mc=1:b(301)=0
List2.AddItem"语文"+"数学"+"英语"+"总分"+"名次
List2.AddItem "------------------------------------------------"
For i=300 To 1 Step -1
If b(i) <> 0 Then
For c=4 To 100 Step 4
If cj(c) = i Then
List2.AddItem
End If
Next c
End If
Next i
End Sub
'以下函数输出时数据s时,不足7位末尾补空格
Function gs(s As Integer) As String
Dim cd As String
ed = CStr(s)
For i=1 To 7 -Len(cd)
cd= cd+" "
Next i
gs = cd
End Function