题型:综合题 题类:常考题 难易度:困难
浙江省嘉兴市2021届高三上学期信息技术9月教学测试
要求编写程序计算在R轮比赛后,积分排名第Q的队伍编号。为解决此问题,小明编写了一个VB程序。在窗体加载时,从数据库中读取编号为1~2n的队伍实力值,编号存储在数组bh中,实力值存储在数组s1中(每支队伍的实力值两两不同,且每场比赛中实力值较高的总能获胜)。在文本框Text1中输人查询轮次R,在文本框Text2中输人待查询排名Q,单击“查询"按钮Command1后在文本框Text3中输出相应队伍的编号、排名等信息。程序运行效果如图所示。
Constn=4
Dim bh(1 To 2*n) As Integer '队伍编号
Dim sl(1 To 2*n) As Integer '队伍实力
Dim jf(1 To 2*n) As Integer '队伍积分
Sub Form_ load( )
'在窗体加载时读取数据库数据并显示在list1中,代码略
End Sub
Private Sub Command1_ Click()
Dim Q As Integer, R As Integer
Dim i As Integer, j As Integer
R = Val(Text1.Text) : Q = Val(Text2.Text)
For i=1 To R
For j=1 To 2*n Step 2
If Then
jf (bh(j)) = jf(bh(j)) + 1
Else
End If
Next j
Call sort '调用积分排序过程sort
Next i
Text3.Text = "编号:" + CStr(bh(Q)) + ",实力:" + CStr(sl(bh(Q)))+ ",排名:"+ CStr(Q) + ",积分:" + CStr(jf(bh(Q)))
'在List2中输出R轮后的积分表,代码略。
End Sub
Sub sort( )
Dim i As Integer, j As Integer, t As Integer
For i=1 To 2*n-1
For j=2*n To i+1 Step -1
If Then
t=bh(j):bh(j)=bh(j-1):bh(j-1)=t
End If
Next j
Next i
End Sub
原始数据 | 1201 | 2120 | 1009 | 1987 | 2009 |
第一趟 | 2120 | 1201 | 1009 | 1987 | 2009 |
第二趟 | |||||
第三趟 | 2120 | 2009 | 1987 | 1009 | 1201 |
第四趟 | 2120 | 2009 | 1987 | 1201 | 1009 |
试题篮