分析完善程序。
“完数”是指一个自然数恰好等于它的因子(不包含本身)之和。如6的因子为1,2,3,而6=1+2+3,因此6就是完数。再如28的因子为1,2,4,7,14,而28=1+2+4+7+14,因而28也是完数。
问题:输入一个正整数n,判断该正整数是否为完数。
要判断一个正整数n是否为完数,最简单的方法是:求出1到n-1之间的所有因子和为Sum,如果Sum的值和n的值相同,则n就是完数。
以下代码是判断n是否为完数的程序片段,请你补全代码:
Dim  n  As  Long
Dim  Sum  As  Long   ' Sum用来记录n的因子和
n = InputBox(“n=”)
For i = 1 To n-1     ' 求n的因子和Sum
If  n Mod i = 0  Then  Sum =_________
Next  i
If _____________  Then
Print   n  &  “是完数”
Else
Print   n  &  “不是完数”
End If
当前题号:1 | 题型:None | 难度:0.99
进入2016年7月份以来,浙江省气温连续高企,为了观察气温的变化情况,小明用VB编写了一个连续高温天数的统计软件。小明采集了杭州市7-8月的每日最高气温,并存放在ACCESS数据库中。程序运行时,读取日期和最高气温并显示在列表框List1中,在文本框Text1中输入温度值,单击“统计”按钮Command1,程序自动统计运行在该温度值以上的最长连续天数,并显示在Text3中,同时在Text2中显示日期区间,运行界面如图所示。
 
Dim rq(1 to 100) as String:Dim qw(1 to 100) as Integer:Dim n as Integer
Private sub Form_Load()
'读取数据库内容,其中日期数据放在数组rq中,最高气温数据存放在qw中,第i个日期保存在rq(i)中,对应的气温保存在qw(i)中,并显示在列表框List1中,代码略
End sub
Private sub Command1_Click()
Dim max as Integer '记录最大连续天数
Dim nend as Integer '记录最大连续天数时的结束日期的下标 
Dim ncount as Integer   '统计连续天数
Dim tjqw as Integer '存放输入的温度
tjqw = Val(Text1.Text)
ncount = 0
max = 0
For i = 1 To n
If _____________ Then
ncount = ncount + 1
Else
ncount = 0
End If
If max < ncount Then
max = ncount
__________________
End If
Next i
If max <> 0 Then Text2.Text = ____________________& ”-”& rq(nend)
Text3.text = Str(max)
End sub
当前题号:2 | 题型:None | 难度:0.99
编写VB程序,实现如下功能:在文本框Text1中输入一串字符,单击“统计”按钮Command1,统计每个英文字母(不区分大小写)出现的次数,找出出现次数最多的字母,在标签Label1中显示结果。运行效果如图所示。

实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim i As Integer, n As Integer, max As Integer
Dim a(1 To 26) As Integer   '数组a存放26个大小写字母出现的次数Dim st As String, ch As String
st = Text1.Text
For i = 1 To Len(st)
    _____
If ch >= "A" And ch <= "Z" Then n = Asc(ch) - Asc("A") + 1  a(n) = a(n) + 1
ElseIf ch >= "a" And ch <= "z" Then n =    _____
a(n) = a(n) + 1
End If
Next i
max = a(1)
For i = 1 To 26
If      _____Then max = a(i)
End If Next i st = ""
For i = 1 To 26
If max = a(i) Then
st = st + " " + Chr(Asc("A") + i - 1) End If
Next i
Label1.Caption = "出现次数最多的字母是:" & st & " " & "出现次数为:" & Str(max)
End Sub
(2)在文本框 Text1 中输入字符串“ABCEEEEffee333333”,运行程序时,标签 Label1 中输出结果为:出现次数最多的字母是:_____出现次数为:_____。
当前题号:3 | 题型:None | 难度:0.99
某客运公司为了合理地安排汽车运输,每年每月都会对汽车站的客运量进行统计,并保存到数据库。新的一年即将来临,客运公司准备制订明年的汽车排班计划。设计程序,从数据库中读取上一年的月客运量,并找出最大、最小月份,代码如下:
Dim a(1 To 12) As Integer
Private Sub Form_Load()
 ’本过程从数据库中读取上一年月客流量,并存储在数组a中,代码略
End Sub
Private Sub Command1_Click()
Dim max As Integer, min As Integer
Dim yx As Integer, yn As Integer
max = a(1)
min = a(1)
yx = 1
yn = 12 ……………………①
For i = 2 To 12
 If a(i) >= max Then
  max = a(i)
  yx = i
 End If
 If  a(i) <a(1) Then ………………②
  min = a(i)
  yn = i
 End If
Next i
Label1.Caption =“客流量最大在第” + Str(yx) +“月,共” + Str(max) +“人,客流量最小在第” + Str(yn) +“月,共:” + Str(min) +“人”
End Sub
该程序①、②处有错误,请在画线处填写正确代码。
①_____________________②_____________________
当前题号:4 | 题型:None | 难度:0.99
已知数组a(1)到a(6)的原始数据为“118”,“36”,“98”,“15”,“88”,“2”,对该数组进行排序操作,某同学编写了以下VB程序:
For i=1 To 3
For j=6 To i+1 Step-1
If a(j)<a(j-1) Then
t=a(j):a(j)=a(j-1):a(j-1)=t
End if
Next j
Next i
则程序运行之后,数组a(1)到a(6)的值依次为(   )
A.“118”,“15”,“2”,“36”,“88”,“98”
B.“118”,“15”,“36”,“88”,“98”,“2”
C.“2”,“15”,“36”,“118”,“88”,“98”
D.“2”,“15”,“36”,“88”,“98”,“118”
当前题号:5 | 题型:选择题 | 难度:0.99
暑期旅游旺季,各地旅行社纷纷给出了国外游的各种行程报价。小宇为了同学们方便选择出行路线及价格,设计了一个程序。在文本框Text1中输入“国外”或“国内”,在文本框Text2中输入出游的天数,单击“线路及报价查询”按钮Command1,将在列表框中输出按价格从高到低排序的线路名称及报价信息。

实现上述功能的VB代码如下,但加框处代码有错,请改正。
Dim g(100) As String, day(100) As Integer, xl(100) As String, pri(100)
As Integer
Const n=100
Private Sub Form_Load()
'从数据库中读取数据并存储在相关变量中。g()数组存储国内/国外,day()数组存储出游天数,xl()数组存储旅游线路名称,pri()数组存储行程报价。
'代码略
End sub
Private Sub Command1 Click()
Dim i As Integer,j As Integer
For i=I To n\2

For j=I To n-i

If pri(j)>pri(j+1) Then
t=pri(j):pri(j)=pri(j+1):pri(j+1)=t
End if

Next j

   '①
If pri(j)<pri(j-1) Then
t=pri(j):pri(j) pri(j-1):pri(j-1)=t
End If

Next j

Next i
List1.Clear
i=1
Do While i<=n And g(i)=Text1.Text And day(i)=Val(Text2,Text)

    '②

i=i+1

Loop
(1)程序中①处加框代码应改为________________________________________。
(2)程序中②处加框代码应改为________________________________________。
当前题号:6 | 题型:None | 难度:0.99
a(1)=17:a(2)=16:a(3)=12:a(4)=18:a(5)=15:a(6)=13:a(7)=17:a(8)=20
i=2
Do While i <=8
If  i mod 2=0 and a(i)>a(i-1)then
t=a(i):a(i)=a(i-1):a(i-1)=t
Else  If  a(i-1) mod  2=1 then
a(i-1)=a(i-1)+1
End If
i=i+1
Loop
执行程序后,a数组各元素是(   )
A.17,16,18,12,16,14,20,18
B.18,16,18,12,16,14,20,17
C.16,17,18,12,13,16,20,17
D.18,16,18,12,14,15,17,20
当前题号:7 | 题型:选择题 | 难度:0.99
数组a中存放着1到20的正整数,要求对其中的元素进行分段排序,在Text2中输入每段元素的个数,在文本框Text3中显示每段降序排序后的数据,其中多余的元素不做处理,具体界面如图所示:

实现该功能的VB程序如下,请回答下列问题:
(1)要使程序运行时,窗体Form1标题显示“数组分段排序”,可在Form_Load事件过程中添加语句_______________(单选,填字母:
A.Form1. Caption=“数组分段排序”/B.Form1. Text=“数组分段排序”/C.Text1. Text=“数组分段排序”)。
(2)程序代码中的加框处有错误,请改正。
__________________________
(3)请在划线处填入合适的程序代码。
①________________________
②________________________
Dim a(0 To 100) As Integer
Const high = 16
Private Sub Form_Load()
For i = 1 To high
Randomize
a(i) = Int(Rnd ∗ 20) + 1
Text1.Text = Text1.Text + Str(a(i))
Next i
End Sub
Private Sub Command1_Click()
Dim p As Integer, q As Integer, t As Integer,m As Integer, n As Integer, k As Integer
m = Val(Text2.Text)
For i = 1 To  
c = ""
For j = 1 To m
p=j '改错
q = i ∗ m
k = sort(p, q)
If a(k) <> a(p) Then
t = a(p): a(p) = a(k): a(k) = t
End If
c = c + Str(a(p))
Next j
Text3.Text = Text3.Text + "" + c
Next i
End Sub
Function sort (f As Integer, g As Integer)As Integer
s = f
For i = f To g
If a(i) > a(s) Then
   
End If
Next i
sort = s
End Function
当前题号:8 | 题型:None | 难度:0.99
某排序算法的VB程序段如下:
k=1
For i=1 To 2
For j=1 To 6-2*i
If k* a(j)<k*a(j+2)Then
t=a(j): a(j)=a(j+2): a(j+2)=t

End if

k=-k

Next j
Next i
数组元素a(1)到a(6)的初始值依次为“15,11,58,38,26,9”,该程序段执行后,数组a元素的值分别为(   )
A.58,9,26,11,15,38
B.58,38,26,11,15,9
C.15,38,26,11,58,9
D.58,38,26,15,11,9
当前题号:9 | 题型:选择题 | 难度:0.99
数组a中存储了n个学生的学号和成绩数据,其中奇数位置存储学号信息,偶数位置存储成绩信息,数组存储结构如下表所示:
1
2
3
4
5
6
……
2n-1
2n
学号
成绩
学号
成绩
学号
成绩
……
学号
成绩
第1个学生信息
第2个学生信息
第3个学生信息
……
第n个学生信息
 
小迪同学使用选择排序思想对上述n个同学按成绩进行降序排序(成绩相同的按学号升序排列),并依据成绩插入各位同学的名次信息,处理结束的数组a存储结构如下表所示:
1
2
3
4
5
6
7
8
9
……
3n-2
3n-1
3n
名次
学号
成绩
名次
学号
成绩
名次
学号
成绩
……
名次
学号
成绩
第1个学生信息
第2个学生信息
第3个学生信息
……
第n个学生信息
 
小迪同学使用VB编写了成绩处理程序,程序运行界面如下图所示:

实现上述功能的VB程序如下,请回答下列问题。
Const n=20
Dim a(1 To 3* n)As Integer
Private Sub Command1_ Click()

'读取数据,存储在数组a中,并显示于列表框List1中

'代码略

End Sub
Private Sub Command2_ Click()
'①改错
k=i
For j=l To i-l
If a(2*j)<a(2*k)Or Then
k=j
End if

Next j

A(3*i=a(2*k)
A(3*i-1)=a(2*k-1)

A(2*k-1)=a(2*i-1)
Next i
List2. AddItem"第1名:学号+CStr(a(2))+",分数"+str(a(3))
A(1)=1
mc=1
For j=2 To n

If      Then mc=i

List2. AddItem"第"+Str(mc)+"名:学号"+CStr(a(3*i-1))+",分数"十Str(a(3*i))a(3*i-2)=mc

Next i

End sub
(1)已知窗体名称为Form1,要使程序加载时,窗体标题自动显示为“第15题程序”,则可在_____________(单选,填字母)事件过程中添加代码: Form1. Caption=“第15题程序”。
A.Form_ Click()B.Form_ Load()C.Form1_ Click()D.Forml_ Load()
(2)程序加框处的For循环语句有错,请改正。
(3)请将程序②③④划线处代码补充完整。
当前题号:10 | 题型:None | 难度:0.99