For i=1To n
h(i)=Int(Rnd * 20 + 1)
num(i)=1:ans=0
For j=1 To i
If h(j) < h(i) And num(j) >=num(i) Then
num(i)=num(j) + 1
end if
next j
Next i
执行该程序段后,在下列选项中,num (1)~num (8)各元素值可能的是( )
Private Sub Command1_Click ()
Dim a(1 To 200) As String ‘用来存储学号
Dim b(1 To 200) As String ‘关联a数组,用于矩阵输出
Dim i As Integer,j As Integer,k As Integer,pos As Integer
Dim row as Integer,column as Integer,s As String
For i=1 To 200 ‘产生3位数的学号
a(i)=Mid(“00”,1,(3-Len(CStr(i)))+CStr(i) ‘CStr()函数功能转换为字符串并去掉前面空格
Next i
row=Val (Text1.Text)
column= Val (Text2.Text)
k=1
For i=1 To column
If Then
pos=i ‘pos是b数组的下标,根据行列来关联a数组
For j=1 To row
b(pos)=a(k)
k=k+1
Next j
Else
pos=(row-1)*column+i
For j=1 To row
b(pos) = a(k)
pos=pos-column
k=k+1
Next j
End If
Next i
For i=1 To row ‘按行输出学生信息
s=“”
For j=1 To column
s=s+""+
Next j
List1 AddItem s
Next i
End Sub
Dim x As Integer,y As Integer
x=2:y=3
If x+y=5 Then x=x+2
y=x+y
该程序段运行后,x,y的值为( )
For i=1 To 10
f=i Mod 2
If f=0 Then a(i)=0 Else a(i)=1
For j=1 To i
If f=0 Then a(i)=a(i)+j Else a(i)=a(i)*j
Next j
Next i
执行该程序段后,数组元素a(4)的值为( )
程序描述:输入三个正整数(a、b、c),将其中最小的那个数赋值给变量min并输出。
代码如下:
a=int(input("请输入第1个正整数:"))
b=int(input("请输入第2个正整数:"))
c=int(input("请输入第3个正整数:"))
if a<b:
①
else:
②
if ③ :
④
print("最小数为:",min)
以序列[3,14,7,6,9,12,10,8,13,5]为例,整体不是摇摆序列,但子序列[3,14,7,9]、[3,14,6,12]等都属于摇摆子序列,其中最长的摇摆子序列[3,14,6,12,8,13,5]。根据第16图a分析得知,当序列有一段连续的递增(或递减)时,为形成摇摆子序列,我们只需要找到每一次转折中的拐点元素。
小王编写了一个VB程序实现该功能:程序运行时,从文本框Text1中读入数据,单击按钮Command1后,将计算得到的最长摇摆序列的长度输出到标签Label1中,并将具体的序列输出到文本框Text2中。程序运行界面如图b所示:
Dim a(1 To 20) As Integer
Dim b(1 To 20) As Boolean
Dim ans As String
Private Sub Command1_Click()
Dim i As Integer, flag As Integer, n As Integer
Dim gd As Boolean
'从文本框 Text1读入数据,依次存储到a数组中,数据总数为n
'b数组初值均为False
'代码略
flag = 0 '0代表开始,1代表上升,2代表下降
For i=2 To n
gd = True
If flag = 0 Then
If a(i) >a (i-1) Then
flag= 1
ElseIf a(i) < a(i - 1) Then
flag = 2
Else
gd = False
End If
ElseIf flag = 1 And a(i) < a(i - 1) Then
flag = 2
ElseIf Then
flag = 1
Else
gd = False
End If
Next i
If f(n)<3 then
Label1.Caption =“不构成摇摆子序列”
Else
Label1.Caption =“最长摇摆子序列长度为:”+ Str(f (n))
Text2.Text =“最长摇摆子序列为:”+ ans
End If
End Sub
Function f(n As Integer) As Integer
f = 1: ans=Str(a(n))
For i=n-1 To 1 Step-1
If b(i) Then
f=f+1
End If
Next i
End Function
小吴设计一个根据校验码校验物品代码的VB程序,功能如下:在文本框Text1中输入物品代码,单击“校验”按钮Command1,如果输入的校验码与计算所得的校验码一致,则输出“校验通过。”(如下左图所示),否则输出“校验不通过!”(如下右图所示)。
实现上述功能的VB程序如下
Dim s As String '用于存储输入的物品代码
Dim t As String
Dim i As Integer, j As Integer
Dim sum As Integer '用于存储计算校验码的累加和
Dim check_old As Integer '用于存储输入物品代码中的校验码Y
Dim check_new As Integer '用于存储按照前面9个数字X计算所得的新校验码
Dim a(1 To 10)As Integer
Private Sub Command1_Click()
'从物品代码中取出9个数字X依次存储到a(1)到a(9)中,取出校验码Y存储到a(10)中
s= Text ⑴
j=0
For i=1 To 13
t=Mid(s,i,1)
If(t>="0")And(t<="9") Then
j=j+1
a(j)=Val(t)
End If
Next i
'计算新的校验码并和输入的校验码进行比较
sum=0
For i=1 To 9
sum=sum+ ⑵
Next i
check_new= ⑶
check_old=a(10)
If check_old=check_new Then
Label1.Caption="校验通过。"
Else
Label1.Caption="校验不通过! "
End If
End Sub
加框处代码有错,请改正。
⑴ ⑵ ⑶
L = [1,-2,3,7,-8,-9,10]
j=len(L)-1
i = 0
k = 0
while i<j:
while L[i]>0:
i=i+1
while L[j]<0:
j=j-1
if i<j:
k = L[i]
L[i]=L[j]
L[j] = k
print(L)
k = 0
For i = 1 To 10
If b(a(i)) = 0 Then k = k + 1
b(a(i)) = b(a(i)) + 1
Next i
For i = 1 To k
p = 1
For j = 2 To 10
If b(j) > b(p) Then p = j
Next j
b(p) = 0
s = s + Str(p)
Next i
数组a(1)~a(10)的元素分别为2,5,3,8,8,5,8,9,5,3。数组b(1)~b(10)的元素初始值均为0,执行程序后,变量s的值为( )
1)将明文数据中的所有的大写字母均转换为小写字母,例如
2)将明文数据中的所有数字加上1 变成另一数字,例如
3)明文数据中除大写字母和数字字符外均不进行转换;
4)将加密后的数据倒序输出;例如“abc” “cba”;
例如明文数据“ABc+123”加密后的密文为“432+cba”,他根据以上加密规则编写了下列Python程序:
def jiami(x):
if "A"<=x<="Z":
y = ①
elif "0"<=x<="9":
y = str((int(x)+1)%10)
else:
y = ②
return y
mingwen = input("请输入明文数据:")
miwen = ""
for x in mingwen:
miwen = ③
print("加密后的密文为:",miwen)
① ② ③
s = "PythonSuperNB"
list1 = ["Everyday","Study","Happy"]
if s[6:11] > list1[1]:
print(list1[1] + s[0:6])
else:
print(list1[1])
该程序段执行后,输出的结果是( )
import math
def isprime(num):
i=2
while i<=int(math.sqrt(num)):
if num % i==0:
return False
i+=1
return True
n=6
while n<=100:
for j in range(3,int(n/2)):
if :
print (n,‘=’, j,‘+’, n-j)
n+=2
a=[3,7,8,2,19,10,16,12]
n=len(a)
for i in range(2):
k=i
for j in range(i+1,n):
if a[k]<a[j]:
k=j
if i!=k:
a[i],a[k]=a[k],a[i]
下列说法不正确的是( )
y=0
x=1
while x<=10:
if x%5==0:
break
else:
y+=x
x=x+1
print(y)
s=0
for i in range(9):
if i%3==0:
s+=i
print(s)
A. if s < 3: pay = 10 elif 3 <= s < 15: pay = 10 + (s - 3) * 2 else: pay = 34 + (s - 15) * 3 | B. pay = 10 if 3 <= s < 15: pay = 10 + (s - 3) * 2 else: pay = 34 + (s - 15) * 3 |
C. pay = 10 if s >= 3: pay = pay + (s - 3) * 2 if s >= 15: pay = pay + s - 15 | D. pay = 10 if s >= 3: pay = pay + (s - 3) * 2 elif s >= 15: pay = pay + s - 15 |
A | B | C | D |
if (s[16])%2==0: print(“女性”) else: print(“男性”) | If int(s[16])%2==0: print(“女性”) else: print(“男性”) | if int(s[16])//2==0: print(“女性”) else: print(“男性”) | if (s[16])//2==0: print(“女性”) else: print(“男性”) |
n=int(input(“n=”))
s=0
for i in range(2, n):
if n%i==0:
s=
if :
print(n,“是素数”)
else:
print(n,“不是素数”)
n=int(input("请输入一个正整数"))
d={}
c=0
m=0
while n>0:
x=n % 10
if x not in d:
d[x]=1
else:
d[x]=d[x]+1
if d[x]==1:
c=c+1
n=n // 10
print(c)
def doit(x):
if x>=6:
ans=1
else:
ans=3*doit(x+1)+2*doit(x+2)
return ans
print(doit(3))
程序运行后,输出的结果为( )