学进去-教育应平等而普惠
排序:
414道相关试题
编写VB程序,实现如下功能: 单击“排序数组a”按钮Command1时,对已有数组a的数据进行升序排列,并显示在文本框Label1中;单击“显示数组b”按钮Command2时,将升序数组b的数据显示在文本框Label2中;再单击“合并a和b”按钮Command3时,对数组a和数组b升序合并到字符串中,将合并后的数据在文本框Label3中显示。(运行效果如图所示)。实现上述功能的VB代码如下, 请在划线处填入合适代码。

Dim a(1 To 6) As Integer
Dim b(1 To 6) As Integer
Private Sub Command1_Click()     '对数组a中的数据进行排序
Dim i As Integer, j As Integer ,k as integer
a(1) =" 53" :a(2) =" 18:a(3)" =" 62:a(4)" =" 22:a(5)" =" 6:a(6)" = 25
s = ""
For i =" 1" To 5
k = i
For j =" i" + 1 To 6
If a(k) > a(j) Then      
Next j
If i <> k Then
t =" a(k):" a(k) =" a(i):" a(i) = t
End If
Next i
For i =" 1" To 6
s =" s" + Str(a(i))
Next i
Label1.Caption = s
End Sub
Private Sub Command2_Click()
b(1) =" 3:" b(2) =" 8:" b(3) =" 15:" b(4) =" 27:" b(5) =" 38:" b(6) = 49
'此处部分代码省略
End Sub
Private Sub Command3_Click()
'将数组a和b中的数据逐个比较后添加到新的字符串s中,并将s在label3中显示
i =" 1:" j =" 1:" s = ""
Do While i <=" 6"     ②   j <= 6           '如果两数组都还有数据未合并
If        ③    Then
s =" s" + Str(a(i)) : i =" i" + 1
Else
s =" s" + Str(b(j)) : j =" j" + 1
End If
Loop
Do While i <= 6                            '只有数组a还有数据未合并
s =" s" + Str(a(i)) : i =" i" + 1
Loop
Do While j <= 6                            '只有数组b还有数据未合并
s =" s" + Str(b(j)) : j =" j" + 1
Loop
Label3.Caption = s
End Sub
类型:填空题
难度系数:困难0.15
收藏
纠错
详情
(加试题)小王编写了一个实现文字查找替换功能的VB程序,运行界面如图所示。文本框Text1显示原文内容,Text2中输入查找内容,Text3中输入替换内容,单击“全部替换”按钮Command1后,Text4显示查找替换的结果,Text5中显示替换的次数,Text6显示“查找内容”在原文中的起始位置。

实现上述功能的VB程序如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim s As String, resule As String, pos As String
Dim count As Integer, i As Integer
i =" 1:" count = 0
resule = "": pos = ""
Do While i <= Len(Text1.Text)
s =" Mid(Text1.Text," i, Len(Text2.Text))
If s =" Text2.Text" Then
result =" result" + Text3.Text
count =" count" + 1
pos =  ①
i =" i" + Len(Text2.Text)
Else

i =" i" + 1
End If
Loop
Text4.Text = result
Text5.Text = Str(count)
Text6.Text = pos
End Sub
类型:填空题
难度系数:困难0.15
收藏
纠错
详情
(加试题)火柴棒等式。用火柴棒可以摆出0-9的数字,摆放规则如下图所示:

有一种火柴棒游戏,将火柴棒摆成形如“A+B=C”的火柴棒等式。用n根火柴棒摆放数学等式的规则约定如下:
(1)A、B都是不大于1000的正整数,若数值非零,则最高位不能是0  
(2)摆放“+”与“=”各使用两根火柴棒
(3)A+B=C 与 B+A=C 视为相同的等式
(4)n根火柴棒必须全部用上
小明依据上述规则使用VB编写程序,研究“使用n根火柴棒,可以摆放出哪些不同的等式”,代码如下所示。请回答下列问题。
(1)请在划线处填入合适的代码。①__________,②__________,③________;
(2)某次运行程序时,显示的等式中包含“7+17=24”,根据程序分析,输入的n的值为:______
Dim sz(0 To 9) As Integer   ’数组元素sz(i)用于存储数字i所使用的火柴棒的数量
Private Sub Form_Load()
sz(0) = 6  :  sz(1) = 2  :   sz(2) = 5  :   sz(3) = 5  :  sz(4) = 4
sz(5) = 5  :  sz(6) = 6  :   sz(7) = 3  :   sz(8) = 7  :  sz(9) = 6
End Sub
‘自定义函数hcs用于求解摆放数字x需要使用的火柴棒数量
Function hcs(ByVal x As Integer) As Integer  
Dim s As Integer,k as integer
s = 0
Do While            
k = x Mod 10
s=s+sz(k)
x = x \ 10
Loop
hcs = s + sz(x)
End Function
Private Sub Command1_Click()
Dim n As Integer
Dim a As Integer, b As Integer, c As Integer
n = Val(Text1.Text)
ans = 0
List1.Clear
For a = 0 To 999
For b =               To 999
c = a + b
If                  Then    
List1.AddItem (Str(a) + "+" + Str(b) + "=" + Str(c))
ans = ans + 1
End If
Next b
Next a
List1.AddItem ("共有" + Str(ans) + "种等式")
End Sub
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
(加试题)维吉尼亚密码。如下图所示,分别用行和列表示待加密的字符(明文)和当前字符的密钥,行和列的交叉点的字符即为加密后的结果(密文)。在加密时,密文与明文的字母大小写形式保持一致,如:明文字母为大写,则加密后的密文字母也为大写;当密钥长度不足时重复使用密钥。

 

例如:当明文M=HelloWorld,密钥K=abc时,密文C=HfnlpYosnd。运算过程如下所示:
明文:HelloWorld
密钥:abcabcabca
密文:HfnlpYosnd
依据上述算法描述设计了如下VB程序。请回答下列问题:
(1)若明文是Jia,密钥是Pass,则输出的密文是:_________
(2)请在划线处填上合适的代码
Const MIN_ASC = 65
Function X2D(x As String) As String
Dim s As String, zf As String, i As Integer
s = ""
For i = 1 To Len(x)
zf = Mid(x, i, 1)
If zf >= "a" And zf <= "z" Then
s=s+ ________
Else
s = s + zf
End If
Next i
X2D = s
End Function
Private Sub Command1_Click()
Dim M As String, K As String, C As String, flag As Boolean
Dim i As Integer, t As Integer, ch As Integer, pos As Integer, j As Integer
M = Text1.Text       '明文
K = Text2.Text       '密钥
t = Len(K)
K = X2D(K)          
C = ""
For i = 1 To Len(M)
ch = Asc(Mid(M, i, 1))
flag = False
If ch >= 97 And ch <= 122 Then ch = ch - 32: flag = True
pos= ________                 '密钥的字符位置值
If pos = 0 Then pos = t
j = Asc(Mid(K, pos, 1))      '密钥字符的ASCII值
ch = ch - MIN_ASC
j = j - MIN_ASC
ch= ________
ch = ch + MIN_ASC
If flag Then ch = ch + 32     '设置字母的大小写形式
C = C & Chr(ch)
Next i
Text3.Text = C
End Sub
类型:填空题
难度系数:困难0.15
收藏
纠错
详情
(加试题)中秋节时,班级组织活动,其中有抽奖环节,小龙在7选3中选考了技术,班主任让小龙编写一个VB抽奖程序,功能如下:窗体装载过程从数据库读取所有同学的相关数据并显示在列表框List1中,抽奖时在文本框Text1中输入要抽出的人数,单击“摇奖”按钮command1,程序进行处理,结果输出在列表框list2中。程序运行界面如下图所示。

实现上述功能的VB程序如下,请回答下列问题:
(1)分析下面的程序代码,可知数据表名为________
(2)请在划线处填入合适的代码。
Dim a(1 To 100) As String '数组大小满足处理要求,学生学号
Dim b(1 To 100) As String '数组大小满足处理要求,学生姓名
Dim i As Integer '学生总数
Dim j As Integer
Dim dd(1 To 100) As Integer
Private Sub Form_Load()
‘从数据库读取全班同学的相关信息,存储在数组a、数组b和变量i中
Dim n As Integer

Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim strSQL As String

    conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & App.Path & "\1718.accdb"

conn.Open

Set rs.ActiveConnection = conn

strSQL = "SELECT * FROM stuinfo"

rs.Open strSQL

'本过程的其他语句略

End Sub
Private Sub Command1_Click()
Dim ShuruNum As Integer, k As Integer, y As Integer,n As Integer
Randomize
ShuruNum = Val(Text1.Text)
Label4.Caption = ""
For k = 1 To i
dd(k) = 0
Next k
If ShuruNum > 0 And ShuruNum <= i Then
j = 1
Do While j <= ShuruNum
y = Int(Rnd() * i) + 1
If________________  Then' ①
dd(j) = y
j = j + 1
End If
Loop
List2.Clear
For n = 1 To ShuruNum
List2.AddItem ________________ '②
Next n
Else
Label4.Caption = "错误:没有输入中奖人数或超过学生总数"
End If
End Sub
'核对重复,避免同一人再次中奖
Private Function CheckCF(p As Integer) As Boolean
Dim m As Integer,x As Boolean
x = True '初始化
For m = 1 To j
If ________________ Then '③
x = False
Exit For
End If
Next m
CheckCF = x
End Function
类型:填空题
难度系数:困难0.15
收藏
纠错
详情
某同学编写了一段模仿 Excel 的 Rank 排位函数 VB 程序,运行界面如图。 程序功能如下:程序运行后 先自动生成 1000 个取值范围在 [1, 100]的随机数(保留两位小数) 并显示在 List1 中,在 Text1 和 Text2 中输入排序范围的起始位置和结束位置,在 b(i)中存储 a(i) 在该范围中的排位,并输出排位到列表框 List2, 实现上述功能的 VB 程序如下,但加框处代码 有错,请改正。
Dim a(1 To 1000) As Single, b(1 To 1000) As Integer Private Sub Form_Load()
Randomize '生成 1000 个随机数 For i = 1 To 1000
   a(i) = ((Rnd * 99 + 0.05) * 1000 \ 10) / 100 + 1   '产生随机数,保留二位小数
b(i) = 1                                          '初始排位为 1
  List1.AddItem "a(" & i & ")=" & a(i) Next i
End Sub
Private Sub Command1_Click()
Dim ks As Integer, js As Integer ks = Val(Text1.Text) 
js = Val(Text2.Text) For i = ks To js
For j = ks To js
    If a(j) < a(j-1) Then b(i) = b(i) + 1
Next j
List2.AddItem "a(" & i & ")" & "在 a(" & ks & ")~a(" & js & ")中排位为" & b(i) Next i
End Sub
类型:填空题
难度系数:困难0.15
收藏
纠错
详情
最大回文子串。回文字符串是具有回文特性的字符串:即该字符串从左向右读, 与从右向左读都一样.如:凤落梧桐梧落凤,abcba 等。“最大回文子串”是指一个字符串中长度最大的回文字符串,其基本算法思想如下:
(1)每个回文都有一个“中心”,当回文字符数为奇数时,中间的那个字符就是回文中心;但是当回文的字符数为偶数时,回文的中心是最中间的那两个字符,且这两个字符相同。
(2)对任意一个字符或者相同的两个连续字符,我们都可以假设它为回文的“中心”,向它的左右两边扩展出尽可能长的回文。对于每种假设,我们都能得到一个回文,而最长回文必定由其中的某个假设中得到。
现编写一个 VB 程序,在 Text1 中输入一串字符,单击“统计”按钮,在 Text2 中显示该字符串中的最大的回文子串(长度相同时,输出最左边的子串)。运行界面如图所示。

请回答下列问题:
(1)当 Text1 中输入“123321344332423112113123”时,则输出的结果为        。
(2)请在划线处填入合适的代码。
Dim n As Integer
Dim a(0 To 100) As String
Private Sub Command1_Click()
Dim s As String
Dim left As Integer, right As Integer, i As Integer
Dim max As Integer, m As Integer, b1 As Integer
'变量 b1 用于记录回文子串的左端起点
Text2.Text = " "
s = Text1.Text
n = Len(s)
For i = 1 To n
a(i) = Mid(s, i, 1)
Next i
max = 0: left = 0: right = 0
For i = 1 To n
left = i
right = i
m = longest(left, right)
If m > max Then
________①_________
max = m
End If
left = i
right = i + 1
If a(left) = a(right) Then
m = longest(left, right) + 1
If m > max Then
b1 = i - m \ 2 + 1
max = m
End If
End If
Next i
For i = b1 To _____②________
Text2.Text = Text2.Text + a(i)
Next i
End Sub
Function longest(left As Integer, right As Integer) As Integer
Dim p As Integer
p = 1
Do While left > 1 And right < n And _________③______________
left = left - 1
right = right + 1
p = p + 2
Loop
longest = p
End Function
类型:填空题
难度系数:困难0.15
收藏
纠错
详情

   (加试题)小明编写了一个VB程序,功能如下:在文本框Text1中输入一段英文,并在文本框Text2中输入英文段落中的某个单词(或字符串),单击“最大间距”按钮(Command1)后,在文本框Text3中显示该单词在文中某两次出现的最大间距,若只出现一次或不出现则显示值为0。程序运行界面如下图所示:


实现上述功能的VB程序如下:
Private Sub Command1_Click()  
Dim a(1 To 1000) As String   '数组a存储文中出现该指定单词(或字符串)的各个位置
Dim s As String, c As String ,ch As String
Dim n As Integer, max As Integer, i As Integer
s = Text1.Text 
c = Text2.Text
n = 0: Max = 0
For i = 1 To Len(s) - Len(c) + 1
ch = ①       
If ch = c Then
n = n + 1
a(n) = i
If n >= 2 Then
If a(n) - a(n - 1) - Len(c) > Max Then Max = a(n) - a(n - 1) - Len(c)
End If
End If
Next i
Text3.Text =  ②       
End Sub
以上程序段运行时,为了实现上述功能,划线处①和②应填入的代码分别为: 
(1)_______________________________; (2)_______________________________
类型:填空题
难度系数:困难0.15
收藏
纠错
详情
小王用 VB 编写一个自动统计离散数据的“极大值”(如图 a 所示)个数的程序。 功能如下:在列表框 List1 中随机产生 n 个介于[1,99]的正整数,单击“统计极大值”命令按钮 Command1,程序自动统计出极大值,并将其输出到列表框 List2,且将其中的最大值输出在标签 Label1 中。程序界面如图 b 所示,实现上述功能的 VB 程序如下。(假设:数据的左右两个端点不 计入极大值,且相等的两个值也不计入极大值)。请回答以下问题:

图 a                                    图 b
(1)当 n=6,原始数据为“8 39 24 5 71 25”,此时极大值有:         。
(2)请在划线处填入合适的代码。 Const n = 10
Dim a(1 To n) As Integer    '存储原始数据 Dim Max(1 To n) As Integer  '存储极大值数据
Private Sub Form_Load()        '原始数据初始化
Randomize
For i = 1 To n
a(i) =     ①          '产生[1,99]间随机整数
List1.AddItem Str(a(i))
Next i End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim count As Integer, Maxa As Integer
count = 0
List2.Clear
For i = 2 To n - 1        '统计极大值,左右两边端点值除外
If           ②             Then
count = count + 1
    ③   = a(i)
End If
Next i
Maxa = 0
For i = 1 To count
List2.AddItem Str(Max(i))
If Maxa < Max(i) Then
Maxa = Max(i)
End If
Next i
Label1.Caption = "极大值中的最大值为:" + Str(Maxa) End Sub
类型:填空题
难度系数:困难0.15
收藏
纠错
详情
挤牛奶问题:如有三个农民每天清晨5点起床,然后去牛棚分别给3头牛挤奶。第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻(总共挤了700个时刻),第二个农民在700时刻开始,在1200时刻结束(总共挤了500个时刻)。第三个农民在1500时刻开始2100时刻结束(总共挤了600个时刻)。期间最长挤奶的连续时间为900秒(从300时刻到1200时刻),而最长的无人挤奶的连续时间为300时刻(因第二个农民在1200时刻已结束,而第三个农民从1500时刻才开始,中间有300时刻没有人在挤牛奶)。相应时刻如下图所示:

下面提供的程序是,从N个农民(1<N<=5000)挤N头牛的工作时间列表,计算出最长有人在挤牛奶的时间段与最长的无人挤牛奶的时间段。
下图为两组不同数据程序运行后界面;

请在划线处填入相应的代码,使程序功能完善。
Dim a(1 To 100) As Integer '存放农民挤牛奶开始时刻
Dim b(1 To 100) As Integer '存放农民挤牛奶结束时刻
Dim n As Integer '存放农民人数
Private Sub Form_Load()
‘获取农民的人数与各个农民开始挤牛奶与结束挤牛奶的时间,并在list1中输出
‘相应的代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim t As Integer, ymax As Integer, nmax As Integer
Dim btime As Integer, etime As Integer, flag As Boolean
flag = True: i = 1
Do While i <= ________And flag
flag = False
For j = 1 To n - i
If a(j) > a(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
flag = True
End If
Next j
i = i + 1
Loop
btime = a(1): etime = b(1)
ymax = etime - btime: nmax = 0
For i = 2 To n
If _______________________________Then
etime = b(i)
If etime - btime > ymax Then ymax = etime - btime
ElseIf etime < a(i) Then
If a(i) - etime > nmax Then nmax = a(i) - etime
btime = a(i): etime = b(i)
End If
Next i
Label2.Caption = "最长挤牛奶时间为:" + Str(ymax) + " 时刻"
Label3.Caption = "最长无人挤牛奶时间为:" + Str(nmax) + " 时刻"
End Sub
类型:填空题
难度系数:困难0.15
收藏
纠错
详情
首页
上一页
下一页
尾页