一次运动会上,某组6位选手的百米成绩(单位:秒)分别是“14.1、12.3、11.2、14.8、13.9、11.0”,若使用选择排序法将该组的成绩按第一名、第二名、第三名……的顺序排序,则第一次交换数据后的顺序是()
A.14.8 14.1 12.3 11.2 13.9 11.0
B.11.0 12.3 11.2 14.8 13.9 14.1
C.14.8 12.3 11.2 14.1 13.9 11.0
D.11.0 14.1 12.3 11.2 14.8 13.9
当前题号:1 | 题型:选择题 | 难度:0.99
自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。使用枚举法寻找5位数以内的自幂数算法如下:
(1)使用循环列出1到99999中的每一个数zmsknz
(2)通过自定义函数ddknzms拆解得到每个数中的每位数上的数码及它们对应的n次幂之和
(3)将zmsknz与ddknzms进行比较,若相等则说明是自幂数,可将其加入列表。
编写VB程序,使用枚举法得到5位数以内的自幂数,程序设计界面如图所示:

请根据算法及相应注释将下面的程序补充完整:
Function ddknzms(zmsknz As Long) As Long  '得到可能的自幂数
Dim zmsknz_str As String  '字符串类型自幂数可能值
Dim zmsknz_length As Integer, zmswsxh As Integer '字符串类型自幂数可能值字符个数
zmsknz_str = Trim(Str(zmsknz))
zmsknz_length = Len(zmsknz_str)
For zmswsxh =" 1" To zmsknz_length
ddknzms =" ddknzms" + Val(Mid(zmsknz_str, zmswsxh, 1)) ^  ①   
Next zmswsxh
End Function
Private Sub Command1_Click()
Const ZMSWS = 5
Dim zmsknz As Long, zmsknz_zz As Long
zmsknz_zz =" 10" ^ ZMSWS - 1
For zmsknz =" 1" To zmsknz_zz
If  Then List1.AddItem (Str(zmsknz))
Next zmsknz
End Sub
当前题号:2 | 题型:填空题 | 难度:0.99
某校学生会选举需要从学校数据库中随机抽取若干名学生作为监票人。该数据库文件名为school.mdb,其中数据表student存储有关学生学号(xuehao)、姓名(xingming)相关信息,括号内的内容为对应字段名。该程序编辑界面如图所示,相关对象名可参考标识图。

当主持人点击按钮“生成抽号”后,下方的标签会显示可抽取的学号姓名,一定时间后显示被抽取作为监票人的学号姓名。
'xxxss:学校学生数,kcq:可抽取
'xhxm:学号姓名,kcq:可抽取
Dim xxxss As Integer
Dim xhxm(3000) As String
Dim kcq(3000) As Boolean
'cq_Click:启用两个定时器
Private Sub cq_Click()
cqxhxm.Enabled = True
xskcqxhxm.Enabled = True
End Sub
Private Sub cz_Click()  '初始化数组kcq,使每个元素数据都处于可显示状态
For i =" 0" To xxxss - 1
kcq(i) = True '①
Next i
End Sub
Private Sub xskcqxhxm_Timer() '若数组kcq第x个元素处于可抽取状态,则显示数组xhxm第x个元素
x =" Int(Rnd" * xxxss)
If kcq(x) Then xhxmbq.text = kcq(x)   '②
End Sub
Private Sub Form_Load() '从数据库中提取需要的学号姓名相关数据并初始化数组kcq
Randomize
xxxss = 0
Dim conn As New ADODB.Connection,rs As New ADODB.Recordset
Dim str_conn as String,str_sql As String
str_conn = "driver="Microsoft" access driver(*.mdb);DBQ="&app.path&"\school.mdb";
conn.open str_conn
str_sql = "select * from students"
rs.open str_sql
Do While Not rs.eof
xxxss =" xxxss" + 1
xhxm(xxxss) = rs.fields("xuehao")&rs.fields("xingming")
rs.movenext
Loop
For i =" 0" To xxxss - 1
kcq(i) = True
Next i
End Sub
Private Sub cqxhxm_Timer()  '决定抽取的学号姓名作为监票人
xskcqxhxm.Enabled = False
For i =" 0" To xxxss - 1
If xhxmbq.Caption =" xhxm(i)" Then kcq(i) = False
Next i
cqxhxm.Enabled = False
End Sub
当前题号:3 | 题型:填空题 | 难度:0.99
下列程序的功能是:随机产生10个1—100之间的正整数,按从小到大排序并输出。为了实现这一目标,程序中划线处应填入的合适语句是:
______________ _
__________ _____
Const n=10
Dim i As Integer,j As Integer,t As Integer
Dim a(1 to 10) As Integer
For i="1" to 10
____________
Next  i
For i="1" to n-1
For j="i+1" to n
If  ________ Then
k=a(i):a(i)=a(j):a(j)=k
End If
Next j
Next i
For i="1" To n
Print a(i)
Next i
当前题号:4 | 题型:填空题 | 难度:0.99
下面程序的功能是:计算表达式1+3+5+…+(2n-1)的值,程序运行时在文本框Text1中输入n的值,计算结果在文本框Text2中输出。则程序中加框处的语句应分别更正为:
(1)__________________
(2)__________________
Private Sub Command1_Click()
Dim sum As Long,i As Integer,n As Integer
sum = 0
n =Val( Text1.Text)
For i =" 1" To 2 * n - 1 Step 2
sum =" sum" + 2
Next i
Text2.label=Str(sum)
End Sub
当前题号:5 | 题型:填空题 | 难度:0.99
如1图所示程序的功能是把输入的自然数分解为三个互不相同的质数(三个质数的和等于输入的自然数),并把分解产生的质数按升序顺序显示在左边的列表框中,其中“开始处理”按钮的名称是“Command1”。例如输入20,单击“开始处理”按钮后,则在列表框中会显示下列数据:
2 5 13
2 7 11

(1)程序中函数f(x)的功能是判断x是否为质数,如果是质数则返回值为True,否则返回False。该函数的算法流程图如2图所示,根据流程图,完善程序中Function f(x)部分。

(2)主程序流程图如下图所示。其中n为输入的自然数,a1、a2、a3为分解出的三个正整数,t为a1、a2、a3是否同时为素数且三数相加是否为n的逻辑值。

则主程序流程图中①处应填写的内容是:
(3)在主程序Private Sub Command1_Click()中,主要采用的算法是:__________。
Dim n As Integer, a1 As Integer, a2 As Integer, a3 As Integer
Dim t As Boolean
Function f(x) As Boolean
End Function
Private Sub Command1_Click()
n = Val(Text1.Text)
For a1 =" 2" To n
For a2 =" a1+1" To n
For a3 =" a2+1" To n
t="(a1" + a2 + a3 =" n)" And f(a1) And f(a2) And f(a3)
If t  Then
List1.AddItem (Str(a1) + " " + Str(a2) + " " + Str(a3))
End If
Next a3
Next a2
Next a1
End Sub
当前题号:6 | 题型:填空题 | 难度:0.99
如下程序段运行后,k的值是   
Dim d(1 to 5)  As Integer
k=0
For i="1" to 5
d( i )=i
If d( i )>k Then k="d(" i )
Next i
Print k
当前题号:7 | 题型:填空题 | 难度:0.99
下面程序段用于求两数中的较大数(结果保存到变量maxn中),不正确的是( )
A.maxn=x
If y>="maxn" Then maxn=y
B.If x>y Then maxn="x" Else maxn=y
C.maxn=x
If y>="x" Then maxn=y
D.If y>="x" Then maxn=y
maxn=x
当前题号:8 | 题型:选择题 | 难度:0.99
求[1,100]内的所有能被7整除的数。

在流程图的空白处应填入 ________   
当前题号:9 | 题型:填空题 | 难度:0.99
会员积分的计算。某超市会根据会员顾客的一次性消费总额给予一定的积分,会员可在年终依据积分换得相应的商品。每次消费时,计算机会自动累加所购商品的总价并折算成积分。
超市折算积分的规则:如果总消费额不足150元,就给1分积分;如果总消费额达150元及以上,那么每40元消费可以获得0.5积分。如,某人消费总额为150元,150/40=3.75,根据规则,积分为3*0.5=1.5分。
下列程序(流程图如图所示)可根据各种已购买商品的费用(已经保存在数组a中),计算总消费金额(total)并折算成积分(ans),最后输出总消费额(显示在标签Label2中)以及所获得的积分总值(显示在标签Label4中)。则程序中划线处应分别填入:
  ②
Const n = 10
Dim a(n) As Single

Dim i As Integer
Dim ans As Single, total As Single
Private Sub Command1_Click()
total =" 0:" ans = 0
For i =" 1" To n
       
Next i
If total < 150 Then
       
Else
ans =" Fix(total" / 40) / 2
End If
Label2.Caption = Str(total)
 = Str(ans)
End Sub
当前题号:10 | 题型:填空题 | 难度:0.99