m = Val(Text1.Text)
n = Val(Text2.Text)
s = ""
x =
For i = 1 To m
s = s + Str(x)
If Then s = s & " +"
x = x + 2
Next i
Label1.Caption = Str(m) + " ^" + Str(n) + " =" + s
上述程序段中方框处可选语句为:
①m ^ (n - 1) - m + 1
②m ^ (n - 1) - n + 1
③i < m
④i = m
则(1)(2)处填入的语句依次为( )
n = 6
For i = 1 To n - 1
For j = n - 1 To i Step -1
If a(j) > a(j + 1) Or a(j) = a(j + 1) And b(j) < b(j + 1) Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
t = b(j): b(j) = b(j + 1): b(j + 1) = t
End If
Next j
Next i
数组元素a(1)到a(6)的值依次为3,6,7,1,8,1;b(1)到b(6)的值依次为5,3,7,7,7,4。执行上述程序段后,a(2)与b(2)的值分别是( )
图a
图b
①按“主要行业”进行文本筛选,条件为:包含“制造”
②按“主要行业”进行文本筛选,条件为:等于“*制造”
③按2018年的“产能利用率(%)” 进行筛选,选择“10个最大的值”并显示最
大的5项
④以2018年的“排名”为关键字进行降序排序
⑤以2018年的“产能利用率(%)”为关键字进行降序排序
图a
图b
图c
(多选,填字母)。
编写程序,实现上述功能:在文本框Text1中输入偶数n,单击“生成”按钮Command1,在列表框List1中显示初始矩阵,在文本框Text2中输入偶数m(2≤m≤ n),单击“处理”按钮Command2,在列表框List2显示处理结果。程序运行界面如图c所示。
请回答下列问题:
Dim n As Integer
Dim a(1 To 100 * 100) As String
Private Sub Command1_Click()
Dim i As Integer
n = Val(Text1.Text)
If n <= 100 And n >= 2 And n Mod 2 = 0 Then
For i = 1 To n * n
a(i) = Chr() ‘字符"0"的ASCII码值为48
'将初始矩阵显示列表框List1中,代码略
Next i
Else
List1.AddItem "输入有误"
End If
End Sub
Private Sub Command2_Click()
Dim b(1 To 100 * 100) As String, s As String
Dim m As Integer, y As Integer, i As Integer, R As Integer, C As Integer
m = Val(Text2.Text)
If m >= 2 And m <= n And m Mod 2 = 0 Then
y =
s = ""
For i = 1 To n * n
R = (i - 1) \ n + 1: C = (i - 1) Mod n + 1
If R <= y Or R > n - y Or C <= y Or C > n - y Then
b(i) = a(i)
Else
b(i) = ‘⑶
End If
s = s + b(i)
If i Mod n = 0 Then
List2.AddItem s
s = ""
End If
Next i
Else
List2.AddItem "输入有误"
End If
End Sub
求解思路:在七个区域①、②、③、④、⑤、⑥、⑦上枚举七个数字1、2、3、4、5、6、7的所有排列来进行验证。程序运行界面如图c所示。
图c
请回答下列问题:
Dim a(1 To 7) As Integer 'a(1)~a(7)依次存储区域①~⑦的值
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Dim y1 As Integer, y2 As Integer, y3 As Integer
For i = 1 To 7
a(i) = i
Next i
n = 0
Do While True
For i = 7 To 2 Step -1
If a(i) = 8 Then
a(i) = 1
End If
Next i
If a(1) = 8 Then Exit Do
If check() Then
y1 = a(1) + a(2) + a(3) + a(4)
y2 = a(2) + a(4) + a(5) + a(6)
y3 = a(3) + a(4) + a(6) + a(7)
If y1 = y2 And Then
n = n + 1
'在列表List1中,按格式输出a数组元素的值,代码略
End If
End If
a(7) = a(7) + 1
Loop
Label1.Caption = "解法共计" & Str(n) & "种。"
End Sub
Function check() As Boolean
Dim i As Integer, n As Integer, f(1 To 8) As Integer
For i = 1 To 8
f(i) = 0
Next i
For i = 1 To 7
Next i
n = 0
For i = 1 To 7
n = n + f(i)
Next i
If n = 7 Then check = True Else check = False
End Function