8 Private Sub Command 1Click Dim s As
8. 有如下程序段: Private Sub Command 1_Click() 字符串读取类题目 Dim s As String, a As String, t As String 审题一定要细致 s = Text 1. Text: t = "" For i = 1 To Len(s) a = Mid(s, i, 1) If a >= "0" And a <= "9" Then 遇数字字符,顺接到t t = t + a Else. If a = "!" Then 遇 !,清空t t = "" Else. If t <> "" Then 遇到数字字符和!之外的字符,如果t中有字符,则输出t,没有清空t List 1. Add. Item t End If Next i End Sub 执行程序时,在文本框中Text 1中输入“ 2020+123*!=325*”(不包括双引号),单击按钮 command 1后,在列表框List 1中显示的结果是C A. 2020 B. 2020 C. 2020 D. 2020123 2020123 325 2020325 2020123325
15题升序排序基础模型 双向冒泡排序 Const n = 10 Dim a(1 To n) As Integer, t As Integer Dim right As Integer, left As Integer, swap_pos As Integer left = 1: right = n Do While left < right 从前往后下沉式冒泡排序,升序,产生的有序数在尾端 For i = left To right - 1 If a(i) > a(i + 1) Then t = a(i): a(i) = a(i + 1): a(i + 1) = t End If Next i For i = right-1 To left + 1 Step -1 从后往前冒泡排序,升序,产生的有序数在首部 If a(i) < a(i-1) Then t = a(i): a(i) = a(i - 1): a(i - 1) = t End If Next i left=left+1 : right=right-1 Loop
Const n = 10 卷面代码 变量:swap_pos Dim a(1 To n) As Integer, t As Integer Dim right As Integer, left As Integer, swap_pos As Integer left = 1: right = n Do While left < right swap_pos初值为什么要设为left?不设可以不? 可不设 swap_pos = left For i = left To right - 1 从前往后下沉式冒泡排序,升序 If a(i) > a(i + 1) Then t = a(i): a(i) = a(i + 1): a(i + 1) = t swap_pos=i ②_________ 记录最后一次交换的位置,由于后面right=swap_pos,说明此处 End If swap_pos需要记录下一趟排序右区间的位置,i+1及之后已有序 Next i right = swap_pos For i = right To left + 1 Step -1 从后往前冒泡排序,升序 If ③ a(i)<a(i-1) Then t = a(i): a(i) = a(i - 1): a(i - 1) = t swap_pos = i swap_pos需要记录下一趟排序左区间的位置,i-1及之前已有序 End If Next i left=swap_pos ④____________ Loop
Dim n(1 To 10) As Integer '待排序的数 Dim b(1 To 10) As Integer '桶,记录数的个数 Dim c(1 To 10) As Integer '序号 Dim q(1 To 10) As Integer '整理好的序号 Private Sub Command 1_Click() For i = 1 To 10 n(i) = Int(Rnd() * 7 + 1) List 1. Add. Item i & ") " & n(i) Next i End Sub Private Sub Command 2_Click() For i = 1 To 7 b(i) = 0 Next i For i = 1 To 10 b(n(i)) = b(n(i)) + 1 Next i Private Sub Command 3_Click() t=1 For i = 1 To 7 c(i) = t t = t + b(i) Next
- Slides: 24