sum=1
for i in range(1, 5):
sum=sum*i
print(sum, i)
程序的运行结果为( )。
s = Text1.Text: p = 0: Sum = 0
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "0" And c <= "9" Then p = p * 10 + Val(c)
Else
Sum = Sum + p
p = 0
End If
Next i
在文本框text1输入"12rtt20pK8",程序运行后sum的值是( )
编写一个VB程序,实现上述功能。程序运行时,在列表框List1中显示n名学生的姓名、性别和成绩,在文本框Text1中输入性别,Text2中输入k,单击“筛选”按钮Command1,在列表框List2中显示筛选出的学生姓名、性别和成绩。程序运行界面如图所示。
Dim n As Integer
Dim xm(1 To n) As String
Dim xb(0 To n) As String
Dim cj(0 To n) As Integer
Private Sub Form_Load()
'读取学生姓名、性别和成绩分别存 xm、xb 和 cj 数组,并在列表框 List1 中显示。
'学生人数存变量 n,代码略。
End Sub
Private Sub Command1_Click()
Dim s As String, k As Single, m As Single, mm As Integer
Dim c As Integer, p As Integer, i As Integer, j As Integer
Dim t1 As String, t2 As Integer
s = Text1.Text
k = Val(Text2.Text)
c = 0
For i = 1 To n
If xb(i) = s Then
Next i
m = c * k / 100
If m < 1 Then
mm = 1
Else
mm =
End If
i = 1
Do While i <= n
p = i
For j = i + 1 To n
If xb(j) = s Then
If
Then p = j
End If
Next j
If i <> p Then
t1 = xb(i): xb(i) = xb(p): xb(p) = t1
t2 = cj(i): cj(i) = cj(p): cj(p) = t2
End If
If i > mm And (xb(i) <> xb(i - 1) Or cj(i) <> cj(i - 1)) Then Exit Do
i = i + 1
Loop
For i = 1 To mm
List2.AddItem xm(i) + " " + xb(i) + " " + Str(cj(i))
Next i
End Sub
Const n = 6
Dim a(1 To n) As Integer, f(1 To 10) As Boolean
Dim tmp As Integer, i As Integer, j As Integer, t As Integer
‘f数组各元素的初值置为False,代码略
For i = 1 To ⑴
t = Int(1 + Rnd * 10)
If Not f(t) Then
a(i) = t : f(t) = True
For j = ⑵
If a(j) < a(j - 1) Then
tmp = a(j): a(j) = a(j - 1): a(j - 1) = tmp
End If
Next j
Else
⑶
End If
Next i
上述程序段3个方框处的表达式分别为( )
| data=[172,9,165,29,156,21] max(data) |
Private Sub Command1_Click()
Dim s As string
Dim n As Integer, w As Integer
s=Text1.Text
For i=1 To 3
n=Len(s):w=1
For j=2 To n
If ________ Then w=j Else Exit For
Next j
s=Mid(s,1,w-1)+Mid(s, w+l, n-w)
Next i
Text2.Text=s
End Sub
画线处的正确代码为( )
s1 = "PROGRAM": s2 = ""
For i = 1 To 4
t = Int(Rnd * 4) * 2 + 1
Do While f(t)
t = Int(Rnd * 4) * 2 + 1
Loop
f(t) = True
s2 = s2 + Mid(s1, t, 1)
Next i
Label1.Caption = s2
数组f 各元素的初值为False,执行该程序段后,标签Label1上显示的内容可能是( )
1)将每个人看成是一个钩码,能挂在另一个挂钩底下,自己底下也能挂其他挂钩。
2)如果两个钩码在同一条钩码串上,则为亲戚(如2、3都能找到1)。
3)如果两个是亲戚但不在一串钩码上,则可将其中一串的最上面的钩码挂在另一串的下方。
例如从图a加框处的前三行数据可得到图b所示的钩码串1和钩码串2,从第四行数据可知9、5也为亲戚,则可将两串钩码合并,合并后3为2的顶端,5为3的顶端,其余数据以此类推。
根据算法思想,编写VB程序功能如下:程序初始化时给出6条亲戚关系显示在List1中,单击“理关系”按钮,在List2中显示每个人所在钩码的顶端编号。在Text1和Text2中分别输入两人的编号,单击“询问”按钮,输出两个人是否为亲戚关系。程序运行界面如图a所示。
Const n = 9 '总人数
Const m = 6 '已知的亲戚关系数
Dim a(1 To n) As String , b(1 To n) As String
Dim f(1 To n) As String '记录不同的亲戚钩码串成员,每条亲戚钩码串内互为亲戚
Dim k As Integer '亲戚钩码串的数目
Private Sub Form_Load()
'初始化List1和List2,生成m条亲戚关系,每条亲戚关系的编号对应存储在数组a(i)和b(i) '中,在List1中输出a(i)和b(i),代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, x As Integer, y As Integer
f(1) = a(1) + b(1) '利用a(1)、b(1)生成第一条钩码串存储在f(1)中
k = 1 'k为钩码串编号
For i = 2 To m
x = root(a(i), 0): y = root(b(i), 0) 'x为调用函数获取a(i)所在的钩码串编号
If x = 0 And y = 0 Then k = k + 1: '根据x与y分类讨论
If x <> 0 And y = 0 Then f(x) = f(x) + b(i)
If x = 0 And y <> 0 Then f(y) = f(y) + a(i)
If x <> y And x <> 0 And y <> 0 Then 'x、y在不同钩码串则将两条钩码串合并
f(x) = f(x) + f(y): f(y) = f(k): k = k - 1
End If
Next i
For i = 1 To n '输出每个人所在钩码的顶端编号
x = root(CStr(i), 0): y = root(CStr(i), 1) 'Cstr()函数用于去除字符前导空格
If x <> 0 Then
If y = Len(f(x)) Then List2.AddItem Str(i) + " " + CStr(i)
If y <> Len(f(x)) Then List2.AddItem Str(i) + " " +
End If
Next i
End Sub
'按钮Command2的功能为判断输入的两个人是否为亲戚关系,代码略
Function root(a As String, b As Integer) As Integer '参数a表示待查找目标,参数b
'表示返回值类型,0表示返回目标所在钩码串编号,1表示返回目标在该钩码串中的位置
Dim m As Integer, n As Integer, i As Integer, j As Integer
m = 0: n = 0: i = k: j = 0
Do While i > 0
If a = Mid(f(i), Len(f(i)) - j, 1) Then m = i: n = Len(f(i)) - j: Exit Do
j = j + 1
If j = Len(f(i)) Then i = i - 1: j = 0
Loop
If Then root = m Else root = n
End Function
| a = InputBox("水费") b = InputBox("电费") Print a + b |
y=1
for x in range(1,5):
y=y*x
print(y)
s=1
for i in range(0,10,3)
s+=i
Print(s)
程序运行后,输出的内容是( )
sw="日一二三四五六"
y=int(input("请输入年份:"))
m=int(input("请输入月份:"))
d=int(input("请输入日期:"))
print(y, "年", m, "月", d, "日")
if :
m=
y=
week=(d+2*m+3*(m+1)//5+y+y//4-y//100+y//400+1)%7
Weekday=
print("星期", week)
#将姓名和身份证号存储在二维数组sfzh的代码略
for i in range(len(sf h)):
s=
year=s[:4]; month=s[4:6]; day=s[6:]
print ("%s同学的生日是:%s年-%s月-%s日"%(sfzh[i][0], year, month, day))
程序划线处填入的代码为:( )