例如,共有N=5个景点,每个景点连接的下一个景点分别是2,4,5,5,2。
景点号 |
1 |
2 |
3 |
4 |
5 |
下一景点号 |
2 |
4 |
5 |
5 |
2 |
则他可以从2号景点出发,最多可以游玩2号、4号、5号三个景点。
程序代码如下:
Private Sub Command1_Click()
Dim a(1 To 100) As Integer, d(1 To 100) As Integer
Dim jd As String, m As String, c As Integer, i As Integer
Dim s As Integer, p As Integer, k As Integer, ans As Integer
jd = Text1.Text + ","
s = 0: c = 0
For i = 1 To Len(jd)
m = Mid(jd, i, 1)
If m <> "," Then
①
Else
c = c + 1: a(c) = s: s = 0
End If
Next i
ans = 0: k = 0
For i = 1 To c
For k = 1 To c
d(k) = 0
Next k
If d(i) = 0 Then
p = i
Do While p <= c
If d(p) = 0 Then
k = k + 1: d(p) = k
Else
②
If y > ans Then ans = y
k = 0
Exit Do
End If
Loop
End If
Next i
Text2.Text = Str(ans)
End Sub
A . Private Sub Form_Load() Form1. BackColor = RGB(255, 255,255) End Sub |
B . Private Sub Form_Load() Form1.BackColor = RGB(0, 0, 0) End Sub |
C . Private Sub Form1_Load() orm1.BackColor = RGB(255,255,255) End Sub |
D . Private Sub Form1_Load() Form1.BackColor = RGB(0, 0, 0) End Sub |
① ②
s=0
for i in range (1 5):
s=s+i
print("i=",i,"s=",s)
For j=1 To Step 2
t=t*j
Next j
from PIL import Image import numpy as np import matplotlib. pyplot as plt #打开图像并转化成数字矩阵 img-np. array(Image. open("hjpg". convert("L")) #图像尺寸分别赋值 rows, cols=img. shape #调整每个像素的RGB值 for i in range(rows): for j in range(cols): if (img[ij]<=128): img[i, j]=0 else: img[i, j]=1 #生成新的图像并显示 plt. figure("hh") plt. imshow(img. cmap="gray") plt. axis("ff") plt. show( ) |
from PIL import Image import numpy as np import matplotlib. pyplot as plt img-np. array(Imagc. open("hh. jpg")) rows, cols, dims= img. shape for i in range(5000): x=np. random. randint(0, rows) y=np. random. randint(0, cols) img[x, y]=0 plt. figure("hh") pt. imshow(img) pltaxis("off") plt. show( ) |
cnt = 0
For i = 1 To 10
If (v(i)) Then
j = i
Do While (v(j))
v(j) = False
j = a(j)
Loop
cnt = cnt + 1
End If
Next i
执行上述程序段后,cnt的值是( )
⑴确定初始右边界:从第1个字符开始,向右搜索到包含全部26个字母的子串,并因此而确定右边界,同时记录每个字母在子串中出现过的次数。
⑵调整子串左边界:若左边界有重复的字母则表明该子串可缩短,故左边可右移1位……直到找到一个符合条件的子串并记录,然后子串左边界再右移1位。
⑶调整子串右边界:子串右边界继续右移,在新子串符合条件后,记录并进行比较。
重复(2)各调整步骤,直至遍历完整个字符串,获得并输出满足条件的最小长度字符串。
实现上述功能的VB程序如下,请回答下列问题。
Const n = 300
Dim i As Integer, k As Integer, length As Integer, L As Integer
Dim pos As Integer, s1 As String, res As String
Dim f(1 To 26)As Integer '数组f记录每个小写英文字母的出现次数
Dim s(1 To n)As Integer '数组s记录每个输入字符在字母表中的位置
Private Sub Command1_Click()
res = ""
s1 = Text1.Text
For i = 1 To Len(s1)
s(i)= ①
Next i
k = 0: pos = 1: length = n
For i = 1 To 26
f(i)= 0
Next i
For i = 1 To Len(s1)
If f(s(i))= 0 Then k = k + 1
f(s(i))= f(s(i))+ 1 '调整右边界,直到达到26个字母
Do While ②
f(s(pos))= f(s(pos))- 1
If ③ Then
k = k - 1
If i - pos + 1 < length Then
length = i - pos + 1
res = Mid(s1, pos, length)
L = pos
End If
End If
pos = pos + 1
Loop
Next i
If res <> "" Then
Text2.Text = res
Label1.Caption = "最短长度:" + Str(length)+ "开始位置:" + Str(L)
Else
Label1.Caption = "无解!"
End If
End Sub
① ② ③
题目:设计100以内的数中能同时被3或5整除的个数。
Private Sub Command1_Click()
Dim s As String, f As Boolean, L As Integer
s = Text1.Text
j = Len(s)
i = 1
Do while
i = i+1
j = j-1
Loop
If Then Print "是回文串" Else Print " 不是回文串"
End Sub
在画线处填入合适代码,使程序能正常运行。
Private Sub Command1_Click
Dim s As String, ch As String, sum As Integer
Dim fh As Integer
s = Text1.Text: fh = 1: p = 0: sum=0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
p =
Else
sum =
p = 0
If ch = "-" Then
fh = -1
ElseIf ch = "+" Then
fh = 1
End If
End If
Next i
Label1.Caption = Str(sum)
End Sub
a = [10, 5, 2, 11, 7,6]
c=0
i = 0
while i < len(a):
if a[i] % 2 == 0:
c -= a[i]
else:
c += a[i]
i =i + 1
print(c)
程序执行后,输出的结果是
list=[[8,1,6],[3,5,7],[4,9,2]]
执行下列python程序,结果仍能构成九宫格数据的是( )
for x in range(3):
for y in range(3):
list1[x][y]=list[x-2][y]
for i in list1:
print(i)
B . list1=[[0,0,0],[0,0,0],[0,0,0]]for x in range(3):
for y in range(3):
list1[x][y]=list[y][x]
for i in list1:
print(i)
C . list1=["","",""]for x in range(3):
list1[x]=list[x][::-1]
for i in list1:
print(i)
D . list1=[[0,0,0],[0,0,0],[0,0,0]]for x in range(3):
for y in range(3):
list1[x][y]=list[y][2-x]
for i in list1:
print(i)
s="abcababcababcab" : n= Len(s)
For t=1 To n\ 2
If n Mod t=0 Then
For i=t+1To n
If <>Mid(s, i, 1) Then Exit For
Next i
If i =n+1 Then ans = : Exit For
End If
Next t
Text1.Text= ans
上述程序段2个方框处的表达式分别为( )
s=Text1. Text
s1=" "
For i=1 To Len(s)
c= Mid(s, i, 1)
If c>= "A" And c <= "Z" Then
c= Chr(Asc(c)+ 32)
ElseIf c>="a"Andc<(="z"Then
c=Chr( Asc(c)-32)
End If
s1=c+s1
Next i
Text2. Text=s1
该程序段运行后,若在文本框Text1中输入 “Ab12CD”,则 文本框Text2中显示的内容是( )
import pandas as pd
data={ '姓名':['李商隐','欧阳修','李白',杜甫'],'借阅次数': [ 32,16,30,26]}
df1=pd. DataFrame (data, columns=[ '姓名','借阅次数'])
c = 0
for i in range ( len (df1 ['姓名'])):
if df1.at [i,'姓名'][0]= ='李':
c+= df1.at [i,'借阅次数']
print (c)
该程序运行后,输出的内容为( )