Const n =6
Max = 0
For i = 1 To n
d(i)= 1
For j = 1 To i - 1
If a(j)< a(i) And d(j)+ 1 > d(i) Then d(i)= d(i)+ 1
Next j
If d(i)> Max Then Max = d(i)
Next i
数组元素a(1)到a(6)的值依次为“2,40,15,1,25,37”,执行该程序段,变量max的值为( )
移红包规则:
①编号为1的堆上的红包,只能移到编号为2的堆上;
②编号为n的堆上的红包,只能移到编号为n-1的堆上;
③其它堆上的红包,可以移到相邻左边或右边的堆上。
现要求找出最少的移动次数使每堆的红包数-样多。如图所示,在文本框Text1中输入红包堆数n,在文本框Text2中依次输入每堆红包的红包个数(以“,”为分隔符和结束符),单击“移红包次数统计”按钮Command1后,在标签Labe13中显示最少的移动次数。
Const Sum = 40 '红包总个数
Private Sub Command1_ Click ()
Dim n As Integer '红包的堆数
Dim s As String, k As Integer
Dim avg As Integer '最终每堆的红包个数
Dim m1 As Integer, m2 As Integer
Dim tmp As Integer, count As Integer, ans As Integer
n=
s = Text2. Text
avg=Sum/n
tmp=0: count=0: ans=0
For k=1 To Len(s)
c = Mid(s, k, 1)
If c <>","Then
tmp =
Else
count = count + 1
If count = 1 Then
m1 =tmp
Else
m2 = tmp
If m1 <> avg Then
m2=m2-(avg-m1)
ans=ans+1
End If
End If
tmp=0
End If
Next k
Labe13. Caption = Str (ans)
End Sub
编写程序,实现上述功能:在文本框Text1中输入偶数n,单击“生成”按钮Command1,在列表框List1中显示初始矩阵,在文本框Text2中输入偶数m(2≤m≤ n),单击“处理”按钮Command2,在列表框List2显示处理结果。程序运行界面如图c所示。
请回答下列问题:
Dim n As Integer
Dim a(1 To 100 * 100) As String
Private Sub Command1_Click()
Dim i As Integer
n = Val(Text1.Text)
If n <= 100 And n >= 2 And n Mod 2 = 0 Then
For i = 1 To n * n
a(i) = Chr() ‘字符"0"的ASCII码值为48
'将初始矩阵显示列表框List1中,代码略
Next i
Else
List1.AddItem "输入有误"
End If
End Sub
Private Sub Command2_Click()
Dim b(1 To 100 * 100) As String, s As String
Dim m As Integer, y As Integer, i As Integer, R As Integer, C As Integer
m = Val(Text2.Text)
If m >= 2 And m <= n And m Mod 2 = 0 Then
y =
s = ""
For i = 1 To n * n
R = (i - 1) \ n + 1: C = (i - 1) Mod n + 1
If R <= y Or R > n - y Or C <= y Or C > n - y Then
b(i) = a(i)
Else
b(i) =
‘⑶
End If
s = s + b(i)
If i Mod n = 0 Then
List2.AddItem s
s = ""
End If
Next i
Else
List2.AddItem "输入有误"
End If
End Sub
求解思路:在七个区域①、②、③、④、⑤、⑥、⑦上枚举七个数字1、2、3、4、5、6、7的所有排列来进行验证。程序运行界面如图c所示。
图c
请回答下列问题:
Dim a(1 To 7) As Integer 'a(1)~a(7)依次存储区域①~⑦的值
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Dim y1 As Integer, y2 As Integer, y3 As Integer
For i = 1 To 7
a(i) = i
Next i
n = 0
Do While True
For i = 7 To 2 Step -1
If a(i) = 8 Then
a(i) = 1
End If
Next i
If a(1) = 8 Then Exit Do
If check() Then
y1 = a(1) + a(2) + a(3) + a(4)
y2 = a(2) + a(4) + a(5) + a(6)
y3 = a(3) + a(4) + a(6) + a(7)
If y1 = y2 And Then
n = n + 1
'在列表List1中,按格式输出a数组元素的值,代码略
End If
End If
a(7) = a(7) + 1
Loop
Label1.Caption = "解法共计" & Str(n) & "种。"
End Sub
Function check() As Boolean
Dim i As Integer, n As Integer, f(1 To 8) As Integer
For i = 1 To 8
f(i) = 0
Next i
For i = 1 To 7
Next i
n = 0
For i = 1 To 7
n = n + f(i)
Next i
If n = 7 Then check = True Else check = False
End Function
For i = 1 To Len(s1)
c1 = Mid(s1, i,1): c2 = Mid(s2, i, 1)
If
Then
If
Then Exit For '退出For循环
If
Then Exit For
If
Then Exit For
End If
Next i
If i > Len(s1) Then Label1.Caption =“相等” Else Label1.Caption =“不相等”
上述程序段中方框处可选语句为:
①Abs (Asc(c1) - Asc(c2)) <> 32 ②c1 <> c2
③c1 >= "a" And c2 >= "a" ④c1 <= "Z" And c2 <= "Z"
则(1)(2)(3)(4)处语句依次可为( )
以下程序段的功能是:根据从键盘上输入的表示星期几的数字,若输入的数字不是在范围(1至7)输出“输入错误!”,否则输出对应的英文星期的简称如“Mon、Tue、Wed、Thu、Fri、Sta、Sun”。
n=int(input(“请输入一个数:”))
list=[“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sta”,“Sun”]
if :
print(“输入错误!”)
else:
print()
Private Sub Command1_Click()
Dim n As Integer, i As Integer, j As Integer
Dim a(1 To 100) As Integer, b(1 To 100) As Integer Dim s As String, chr As String, temp As String
s = Text1.Text
i = 1: n = 0
Do While i <= Len(s)
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
temp = temp + ch
Else
n = n + 1
①
temp = ""
End If
i = i + 1
Loop
For i = 2 To n
②
Next i
For i = 1 To n - 2
For j =
If b(j) < b(j - 1) Then
t = b(j): b(j) = b(j - 1): b(j - 1) = t
End If
Next j
Next i
For i = 1 To n - 1
If b(i) <> i Then Exit For
Next i
If i = n Then Label1.Caption = "完美跳数" Else Label1.Caption = "非完美跳数"
End Sub
① ②
p = [ 2, 1, 3, 4, 5 ]
c = 0
for i in range( 2, 6, 2 ):
if p[ i - 2 ] + p[ i -1 ] == p[ i ]:
c += 1
print( c )
执行该段程序后,计算机显示的是( )
辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法回答问题。
|
描述一 |
描述二 |
描述三 |
|
①输入两个正整数m,n(m>n); ②计算m除以n所得的余数r; ③m=n, n=r; ④若r=0,则m,n的最大公约数等于m;否则转到步骤②; ⑤输出最大公约数m; ⑥结束。 |
| |
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)
程序执行后,输出的结果是
Dim x%,y%,z%,min%
X=val(inputbox(“请输入X的值”))
Y=val(inputbox(“请输入Y的值”))
Z=val(inputbox(“请输入Z的值”))
If then
Min=y
Else
Min=x
End if
If z<min then
Print “最小值是:”;min
import math
total=float (input("请输入金额:"))
if total<=500:
total*=0.9
elif total<=1500:
total*=0.85
else
total*=0.75
print(math.f1oor(total))
运行程序,输入"1024"后回车,程序的输出结果是。
PRIVATE SUB FORM_CLICK( )
X=INT(RND)+6
SELECT CASE X
CASE IS>5
PRINT 5
CASE IS >4
PRINT 4
CASE IS>3
PRINT 3
CASE ELSE
PRINT 2
END SELECT
END SUB
PRIVATE SUB FORM CLICK()
DIM X AS SINGLE
J=0 : B=0: Q=0: L=0: Y=0
FOR I=1 TO
X=VAL(INPUTBOX(“请输入一个成绩”))
SELECT CASE
CASE
J=J+1
CASE IS>=80
B=B+1
CASE IS>=70
Q=Q+1
CASE
L=L+1
CASE
Y=Y+1
END SUB
Private Sub Command1_ Click()
Dim s As String, a As String, t As String
s=Text1.Text:t=" "
For i=1 To Len(s)
a= Mid(s, i, 1)
If a>= "0" And a <= "9" Then
t=t+a
ElseIf a="!" Then
t=" "
ElseIf t <> "" Then
List1.AddItem t
End If
Next i
End Sub
执行程序时,在文本框Text1中输人“12+ 34=46! 789ok”(不包括双引号),单击按钮Command1后,在列表框List1中显示的结果是( )
| A.12 1234 123446 123446789 | B.12 34 46 789 |
| C.12 1234 789789 | D.12 1234 123446 789 789 |
import math
x=16
if x<0:
y=abs(x)
else:
y=math.sqrt(x)
print(y)
n=int(input("请输入一个整数:"))
m=int(input("请输入一组数据的第一个数:"))
=m
max=m
for i in range(1,n):
t=int(input("请输入后续的数:"))
if t<:
min=t
if t>max:
print() #输出极差的值
input("运行完毕,请按回车键退出...")
编写完成后原名保存并关闭应用软件。
①干支纪年是一种纪年历法,中国历史上很多重大事件都是以此命名的,例如:“1894年甲午战争,1911年辛亥革命等。把十天干(甲、乙、丙、丁、戊、己、庚、 辛、壬、癸)与十二地支(子、丑、寅、卯、辰、已、午、未、申、酉、戌、亥)顺序相配来记录年份,如:甲子、乙丑、丙寅……,一个周期为60年。对于公元后年份的干支纪年计算方法为:公元年数先减3得到基数,基数除以10,余数是天干,基数除以12余数则是地支。例如:1894-3=1891,1891除以10余1,天干是“甲”,1891除以12余7,地支是“午”,即1894年为甲午年。如果余数为0,则为天干或地支列表中的最后一位,辛亥年的地支就是这样求得。
②请填空完善该程序,运行后按程序提示输入:
请输入年份:1894 屏幕将输出结果为:1894年是:甲午年
③编写完成后原名保存并关闭应用软件。注:程序修改时,请把下划线及序号删除;不能删除注释语句。
a = ['甲', '乙', '丙', '丁', '戊', '已', '庚', '辛', '壬', '癸']
b = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']
year1=int(input('请输入年份:'))
year2=
x=year2%
if x==0:
x=10
y=
if y==0:
y=
print(year1,'年是:',a[x-1]+b[]+'年')
m=19
if m>=30 or m<20:
print(m)