程序功能:在文本框Text1中输入课程号,单击“查询”按钮Command1,在列表框List1中显示选修本课程的名学生信息。如果没有找到,在列表框中显示“该课程当前无人报名”。按此要求将程序补充完整。
Private Sub command1_click()
Dim xh(1 to 40),xm(1 to 40) As String '学号和姓名的数组
Dim i,num as integer
Dim conn As New ADODB.Connection, rs As New ADODB.Recordset
Dim strSQL As String
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path + "\student.accdb" '打开到数据库的链接
conn.Open
strSQL ="select xh,xm from data where '课程=&(Text1.Text) & '" '设置查询的SQL语句
Set rs.ActiveConnection = conn '设置rs的ActiveConnection属性,指定与其关联的数据库链接
rs.Open strSQL '打开记录集,将从表student中读取的结果集保存到记录集rs中
List1.Clear
num=0
Do while not rs.EOF
①
xh(num)=rs.Fields("xh")
xm(num)=rs.Fields("xm")
rs.MoveNext
loop
rs.Close
conn.close
set rs=nothing
set conn=nothing
For i=1 to num
②
Next i
if num=0 then list1.additem("该课程当前无人报名")
End Sub
Private Sub Command1_Click()
Dim n, i, a, b As Integer Randomize list1.Clear n = i = 0
Do While i < n a = Int(rnd * 100) b = Int(rnd * 100) If b <> 0 Then if then i = i + 1
list1.AddItem Str(i) + "、" + Str(a) + "/" + Str(b) + "="
End If
End If
Loop
End Sub
Max=-10000
For i = 1 To 10
s = 0
For j = i To 10
s = s + a(j)
If s > max Then max = s
Next j
Next i
已知数组a(1)到a(10)的原始数据为6,-6,8,-7,7,2,-2,-1,-2,4.程序执行后,变量max的值为( )
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Const n = 50
Dim d(0 To n) As single , name(1 to n) as string
'读入50个学生的身高,依次存入d(1)…d(50),姓名存入name(1)…name(50) '代码略
Private Sub Command1_Click()
Dim i As Integer, j As Integer, temp As single, k As Integer,r as string
d(0) = 2
For i = 1 To 10
①
For j = i To n
If d(j) < d(i - 1) Then
If ② Then
k = j
End If
End If
Next j
If k <> i Then
temp = d(k): d(k) = d(i): d(i) = temp
r=name(k) : name(k)=name(i) : name(i)=r
End If
Next i
For i = 1 To 10 ‘输出被选的10个人的名字和身高。
List2.AddItem name(i) & d(i)
Next i
End Sub
① ②
合并规则如下:
⑴当字符串1的长度大于字符串2的长度时,将字符串2中的各个字符从左侧依次插入到字符串1中的各字符后方。例如字符串1为“abcdef”,字符串2为“123”时,合并后的字符串为“a1b2c3def”。
⑵当字符串2的长度大于等于字符串1的长度时,将字符串1中的各个字符从右侧依次插入到字符串2中的各个字符后方。例如字符串1为“abcd”,字符串2为“12345”时,合并后的字符串为“12d3c4b5a”。
程序运行界面如图所示。
Private Sub Command1_Click()
Dim s1 As String,s2 As String,arts As String
Dim n As Integer,m As Integer,i As Integer
s1=Text1.Text
s2=Text2.Text
m=Len(s1)
n=Len(s2)
If m>n Then
For i=1 To n
ans=ans+Mid(s1,i,1)+Mid(s2,i,1)
Next i
ans=ans+Mid(s1,i,m-n)
Else
For i=1 To m
ans= ① +Mid(s1,i,1)+ans
Next i
ans=Mid(s2,1,n-m)+aFIS
②
Label3.Caption=”合并为”+ans
End Sub
① ②
程序代码中,语句加框处有错,请改正。
Private Sub Command1_Click()
Dim s As String, sum As Integer
Dim i As Integer, j As Integer
List1.Clear
s = Text1.Text
n = len(s)
’(1)
For i = 1 To n
For j = 1 To n-i+1
List1.AddItem ’(2)
sum = sum + 1
Next j
Next i
List1.AddItem "总共有" + Str(sum) + "个子串"
End Sub
⑴ ⑵
Dim a(1 To 1000) As Integer
Dim n As Integer, p As Integer, q As Integer
Private Sub Command1_Click() '生成随机数据
n = Val(Text2.Text)
If n Mod 2 = 0 Then p = n - 1: q = n Else p = n: q = n - 1
'p,q 分别为生成的数列的奇数位和偶数位最大下标
'以下代码为生成随机数并按要求排序输出,代码略
End Sub
Private Sub Command2_Click() '添加数据
Key = Val(Text3.Text)
If Key Mod 2 = 0 Then
i = 1: j = p: p = p + 2
Else
i = 2: j = q: q = q + 2
End If
Do While i <= j
m = (i + j) / 2
If Key Mod 2 = 0 And m Mod 2 = 0 Then m = m - 1
If Key Mod 2 = 1 And m Mod 2 = 1 Then m = m - 1
If Then i = m + 2 Else j = m – 2
Loop
If Key Mod 2 = 0 Then '插入一个偶数
For k =
a(k) = a(k - 2)
Next k
a(k) = Key
Else
'插入一个奇数,代码略
End If
If p > q Then n = p Else n = q
For i = 1 To n
s = s + Str(a(i)) + ","
Next i
Text1.Text = s
End Sub
For i=1 To 3
k=“”
Fori-1 To 2*i-1
k=k+“*”
Next j
List1.AddItem k
Next i
该程序运行后,在列表框List1中显示的是( )
图1
图2
Private Sub Command1_Click()
Dim n As Integer, i As Integer, a As Integer, b As Integer
Randomize
n = Val(Text1.Text)
i = ①
Do While i <= n
a = Int(Rnd * 100)
b = Int(Rnd * 100)
If ② Then
List1.AddItem "(" + Str(i) + ")" + Str(a) + "+" + Str(b) + "="
i = i + 1
End If
Loop
End Sub
DIM A(1991 TO 1998) AS INTEGER
FOR I=1 TO 8
A(I)=I
PRINT A(I);
NEXT I
Private Sub Command1_ Click( )
Dim a(1 To 15) As Integer
Dim i As Integer
a(1) = 1
For i = 1 To 15
a(i) = a(i-1) + i
Next i
Text1. Text = str(a(i))
End Sub
运行程序,单击命令按钮 Command1后,出现的错误提示为( )
Dim a As Integer
Dim k As Integer
s = 0
For k = 1 To 6 Step 2
s = s + k
Next k
Print s
输出s的值是
x=10
y=3
print(x%y,x**y)
A=input()
print(A * 5)
Dim i As Integer
Dim a(1 To 10) As Integer
a(1) = 1
For i = 2 To 10
a(i) = a(i-1)*i
Next i
Text1.Text = Str(a(i))
运行该段程序后,出现的错误提示为( )
Dim t As Integer, s As String, i As Integer
s = "20PYt22hoN"
t = 0
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "a" And c <= "z" Then c = Chr(Asc(c) - 32)
If c >= "A" And c <= "Z" Then
t = t + 1
Else
t = t - 1
End If
Next i
Text1.Text = Str(t)
执行该程序段后,文本框Text1中显示的内容是( )
file=open('ceshi.txt','w')
file.write("python is a programming language.")
file.close( )
file=open('ceshi.txt','r')
print(file.read( ))
该代码段运行后,输出的结果为( )
源程序 |
|
运行时错误提示 |