
Dim a(1 To 9) As Integer
Private Sub Command1_Click()
Dim column As Integer, row As Integer, t As Integer, tmp As Integer
Dim s As String, ch As String, result As String
s = Text1.Text: result = ""
For i = 1 To Len(s)
ch = Mid(s, i, 1): t =.
column = (t - 1) Mod 3 + 1
Do While t >= 3
t = t \ 3
Loop
row = ![]()
tmp = (Asc(ch) + - 65) Mod 26 + 65
result = result + Chr(tmp)
Next i
Text2.Text = result
End Sub
Private Sub Form_Load() '用来生成3*3矩阵
For i = 1 To 9
a(i) = Int(Rnd * 9) + 1
s = s + Str(a(i))
If i Mod 3 = 0 Then
List1.AddItem s
s = ""
End If
Next i
End Sub
for i in range(1,5):
n=n*i
print(n)
程序运行后,其输出结果为
k=0
For i=0 To 6 Step 2
For j=1 To 8
If j>5 Then k=k+2:Exit For
k=k+1
Next j
Next i
实现上述功能的VB代码如下,但加框处代码有误,请改正。
Dim a(1 To 50)As Integer
Private Sub Command1_Click( )
Dim i As Integer
k=0:i=3
Do While i<=100
If
Then ‘①
k=k+1
a(k)=i
End If
i=i+2
Loop
For i=2 To k
If
Then ‘②
List1.Addltem Str(a(i-1))+ "和"+Str(a(i))
End If
Next i
End Sub
Function prime(x As Integer) As Boolean
prime=False
For i=2 To Int(Sqr(x))
If x Mod i=0 Then
prime=True
Exit For
End If
Next i
End Function
以上程序段运行时,为了实现上述功能,加框处代码应改正为:①;②。
height = 0
m = float(input("输入起始高度:"))
n = int(input("输入次数: "))
for i in range(1,n):
if i= 1:
height+=m
else:
m/=2
print("总路程:" +str(height))
|
输入起始高度:100 输入次数:5 总高度:275. 0 |
s=0
for i in range(1,11,2):
s=s+i
print(s)
该程序段运行后,s的值为。
i=100:flag=False
Do While i>0 And Not flag
![]()
Loop
Text1. Text = Str(i\10)+Str(i Mod 10)
方框中的代码由以下三部分组成:
①j=22006+i*10 ②i=i-1 ③If(j Mod 37)*(j Mod 67)=0 Then flag = True
下列选项中,代码顺序正确的是( )
1)将字符串中的字母转换为大写字母后按升序进行排序;
2)根据给定的行数,将字符串从上往下、从左到右进行“V”字形排列;
3)从左往右逐行读取字符串并输出;
例如:输入字符串为:“NoThingIsImpossible”,
经过排序得到字符串:“BEGHIIIILMNNOOPSSST”,行数输入为3时,排列如下:
经过变换后得到新字符串为:“BILOSEHIIMNOSSGINPT”。
编写VB程序,实现如下功能:在文本框Text1中输入行数,在文本框Text2中输入字符串(限定字母),单击“变换”按钮Command1,在标签Label3中输出变换结果。程序运行效果如图所示。
Private Sub Command1_Click( )
Dim n As Integer, i As Integer, j As Integer Dim s As String, result As String
Dim a(1 To 26) As Integer, res(1 To 100) As String
Dim flag As Integer '变量flag用于上下换方向
n = Val(Text1.Text) s = conv(Text2.Text)
For i = 1 To Len(s)
c = Mid(s, i, 1)
Next i
s = ""
For i = 1 To 26
For j = 1 To a(i)
s = s + Chr(i + 64)
Next j
Next i
j = 1: flag = -1
For i = 1 To Len(s)
c = Mid(s, i, 1)
res(j) = res(j) + c
If Then flag = -flag
End If
Next i
For i = 1 To n
result = result + res(i)
Next i
Label3.Caption = result
End Sub
'小写字母转大写
Function conv(word As String) As String Dim i As Integer, c As String, s As String
For i = 1 To Len(word)
c = Mid(word, i, 1)
If c >= "a" And c <= "z" Then c = Chr(Asc(c) - 32)
s = s + c
Next i
conv = s
End Function
Private Sub Command1_Click()
Dim s As String, d As Integer, i As Integer
Dim max As Integer, c As String, ans As String
s = Text1.Text
d = 0 : max =0
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Then
d = d + 1
Else
If d > max Then
ans= Mid(s, i - d, d)
End If
d = 0
End If
Next i
Text2.Text=
End Sub
Const n = 10
Dim a(1 To 10) As Integer, b(1 To 10) As Integer
Dim k1 As Integer, k2 As Integer 'k1,k2为相同数据的前、后次序
Private Sub Command1_Click ()
Dim i As Integer, tmp As Integer, t As Integer
Randomize
List1.Clear
For i = 1 To 9 '随机生成9个不重复数
b(i) = Int(Rnd * 90) + 10
Do While ①
b(i) = Int(Rnd *90) + 10
Loop
Next i
'以下代码为随机选取数组中的1个数作为第10个数字再随机的插入到原数组的1-9位置
K1 = Int(Rnd *9 + 1)
tmp = b(k1)
k2 = Int(Rnd* 9 + 1)
For i=10 To k2+1 Step -1
b(i)=b(i-1)
Next i
b(k2) = tup
For i =1 To n
a(i) = i
List1. AddItem Str(a(i)) +””+ Str(b(i))
Next i
If k1 >= k2 Then
②
t =k1: k1=k2: k2=t
End If
Text1. Text = Str(k1) + Str (k2)
End Sub
Private Sub Command2 _Click ()
Dim i As Integer, j As Integer, k As Integer, t As Integer
List2. Clear
For i=1 To n-1
k=i
For j=i +1 To n
If b(j) < b(k) Then k= j
Next j
If k<>i Then
t=a(k): a(k)=a(i): a(i)=t
t=b(l): b(k)=b(i): b(i)=t
End If
Next i
For i= 1 To n
List2.AddItem Str (a(i)) +"" + Str (b(i))
Next i
i=1
Do While i<=n-1 And b(i)< b(i+1)
i=i+1
Loop
Text2.Text = Str(a(i)) + Str(a(i + 1))
If ③ Then Label1. Caption="稳定" Else Label1. Caption ="非稳定"
End Sub
Function check(x As Integer, y As Integer) As Boolean
Dim j As Integer
check = False
For j= 1 To y-1
If b(j)=x Then
check = True
Exit For
End If
Next j
End Function
① ② ③
以下是计算s=1*2*3*……10的程序代码,请补全程序。
s=
for i in range(1,11):
s=
Print (s)
n=input("输入若干个非负整数,以逗号分隔:").split(",")
a=list(map(int,n)) ; s=0
for i in range(0,len(a)//2):
if i%2==0:
s+=a[i]*2
else:
s-=a[i]
print(s)
执行该程序段时,输入“2,0,1,8,1,1,1,6”,则输出结果是( )
DIM Y AS INTEGER,A AS INTEGER
Y=3 :K=3
DO UNTIL K<9
K=K-2
Y=Y+K
LOOP
PRINT Y; K
FOR I=1 TO 20
IF I MOD 2=0 THEN
S=S+1
ELSEIF I MOD 3 =0 THEN
M=M+1
ELSEIF I MOD 5 =0 THEN
N=N+1
END IF
NEXT I
PRINT S, M, N
这段程序的执行结果是( )
现有Python程序段如下:
c=0
for i in range(10):
for j in range(10):
m=25006+s
if m%23==0:
print(m)
c=c+1
print(“满足这些条件的5位数总共有:”,c,“个” )
画线处应填的代码是( )
n="p4y2t3h1o9n4";p=""
for i in n:
if "0"<=i<="9":
if p=="":
p+=i
elif i>=p[-1]:
p+=i
elif i<p[0]:
p=i
执行该程序段后,则p的值是( )
from random import randint
n=input("请输入一串数字:")
k=randint(0,len(n)) #randint用于随机生成[0,len(n)]之间的整数
for i in range(k):
for j in range(len(n)-1):
if n[j]>n[j+1]:
break
else:
n=n[:len(n)-1]
continue #continue跳过当前循环的剩余语句,直接进行下一轮循环
n=n[:j]+n[j+1:]
执行该程序段后,输入“1529”,则变量n可能是( )
小李为了解决该问题,首先结合数组a的有序性,找出a,b两个数组中要剔除的m个数据,再将数组b中保留的数据插入到数组a中。示例如下:
|
n=10,数组a:2,4,6,8,10,12,14,16,18,20 m=5,数组b:41 , 11,17 , 29,9 处理后的数组a:2,4,6,8,9 , 10,11 , 12,14,16 |
Const n=1000,m=50
Dim a(1 To n)As Integer, b(1 To m)As Integer
Function getImax(k As Integer)As Integer
‘在数组元素b(1)~b(k)中找出值最大的元素,返回其下标,代码略
End Function
Private Sub Commandl_Click( )
Dim i As Integer, j As Integer, k As Integer
Dim na As Integer, nb As Integer, imax As Integer, mean As Integer
‘读取数据分别存入数组a、b,代码略
na=n : nb=m
imax=getImax(nb)
For i=1 To m
If a(na)<= Then
b(imax)=b(nb)
nb=nb-1
If nb>0 Then imax=getImax(nb)
Else
na=na-1
End If
Next i
Do While nb>0
i=1 : j=na
imax= getImax(nb)
Do While i<=j
mean =(i+j)\2
If a(mean)<b(imax) Then i= mean +1 Else j=mean-1
Loop
For k=na To 1 Step-1
Next k
a(i+nb-1)=b(imax)
b(imax)=b(nb)
nb=nb-1
Loop
'输出数组a,代码略
End Sub