
请回答下列问题:
(提示:RANK函数返回某数字在一串数值中的相对其他数值的大小排名。例如:=RANK(D3,D3:D9)表示D3中的数值在D3:D9区域中所有数值中的大小排名)
请问右边的程序段运行结束后,
变量x的值为
变量y的值为
小张经分析,每次n堆金币如果都是从小到大,将前两堆合并成新一堆,然后,继续进行从小到大排序,如此合并成最后一堆,此时消耗体力最少,为此他编写了一个解决上述问题,求最少体力的VB程序,功能如下:窗体加载时,自动读取n堆金币的数据,依次存储在数组元素a(1)、a(2)、a(3)…中,金币堆数存储在变量n中,n堆金币的重量数据显示在列表框List1中。单击“求解”按钮Command1,程序对n堆金币进行合并处理,消耗最少的体力显示在文本框Text1中。程序运行界面如图所示。
Const n = 10
Dim i As Integer, j As Integer, t As Integer
Dim a(1 To n) As Integer
Private Sub Form_Load()
'本过程用于读取n堆的数据并存储在数据a中
'代码略
End Sub
'sort(x)过程的功能是对a(x)、a(x+1)、……、a(n)中的数进行从小到大排序
Private Sub sort(x As Integer)
For i =To n - 1
For j = n To i + 1 Step -1
If a(j) < a(j - 1) Then
t = a(j): a(j) = a(j - 1): a(j - 1) = t
End If
Next j
Next i
End Sub
Private Sub Command1_Click()
Dim sum As Integer, k As Integer
sum = 0
sort (1)
For k = 1 To n - 1
a(k + 1) = a(k) + a(k + 1)
sum = sum +
sort ()
Next k
Text1.Text = Str(sum)
End Sub
|
位置 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
数据 |
64 |
67 |
45 |
145 |
|
269 |
|
|
|
119 |
1275 |
Const n=97
Dim d(0 To 96)As Integer,h(0 To 96)As Integer
Dim m As Integer ‘变量m为数据个数
Private Sub Command1_Click() ‘数据存储
Dim i As Integer,t As Integer
‘从数据库读取数据先存储在数组d中,代码略
List1.Clear
For i=0 To n-1
h(i)=-1 ‘数组元素初始化
Next i
For i=0 To m
①
Do While h(t)<>-1
t=(t+1)Mod l2
Loop
h(t)=d(i)
Next i
For i=0 To n-1
List1.AddItem Str(i)&“:”&Str(h(i))
Next i
End Sub
Private Sub Command2_Click() ‘数据查找
Dim x As Integer,Y As Integer,z As Integer
x=Val(Text1.Text)
y=x Mod n
z=1
Do While ②
z=z+1
y=(y+1)Mod n
Loop
If h(y)=x Then
Label2.Caption=“共查找了”&Str(z)&“次,在第”&,Str(y)&“位置找到”
Else
Label2.Caption=“共查找了”&Str(z)&“次,没有找到”
End If
End Sub
① ②
下列说法正确的是 ( )
Private Sub Command1_Click()
Dim n As Long,k As Integer
Dim f1 As Long,f2 As Long,f As Long
If n>=20 Or n<=0 Then
Label2.Caption=”输入的数据有误”
Else
If n<=2 Then ‘第1,2个元素的值都为1
f=1
Else
f1=1
f2=1
For k=3 To n
f=f1+f2
f1=f2
f2=f
Next k
End If
Label2.Caption = ”斐波那契数列第” + Str(n) + ”项的值为” +
End If
End Sub
s='t1Hr2a3'
s1='' ; s2=''; i = 0
while i < len(s):
if '0'<=s[i]<='9':
s1 = s1 + s[i]
elif 'a'<=s[i]<='z':
s2 = s[i] + s2
i = i + 1
ans = s2 + s1
print(ans)
程序执行后,输出的结果是( )

图1


Private Sub Command1_Click()
Dim i, j, c As Integer
Dim n As Long
c = 0
For i = 0 To 99
n = 110800 + i
If Then
List1.AddItem Str(n) + " " + "5"
c = c + 1
End If
Next i
Label2.Caption = "满足条件的数有:" + Str(c) + "组"
End Sub
s=0
For k =3 To 1 Step-1
If k <=1 Then x=1
If k <=2 Then x=2
If k <=3 Then x=3
s=s+x
Next k
Text1. Text= Str(s)
该程序段运行后,文本框Text1中显示的内容是( )
阅读以上材料,完成以下题目: