题型:综合题 题类:常考题 难易度:困难
浙江省丽水市2018-2019学年高二下学期信息技术期末考试试卷
程序设计过程中数据的存储和计算方法如下:
⑴学生体能分数的存储:如图2所示,第1位学生的游泳、跑步、跳远分数依次存入数组score的第1、2、3个元素里,第2位学生的游泳、跑步、跳远分数依次存入数组score的第4、5、6个元素里,以此类推。
⑵计算名次的算法:先统计每个分数的个数,存入数组a,如图3中a(96)值为9,表示共有9个96分;然后按照分数从高到低依次计算每个有效分数(该分数的个数不为0)对应的名次存入数组b,分数相同时名次并列,如图3中b(96)值为10,表示96分的名次是(并列)第10名,以此类推。
请回答下列问题:
Dim m As Integer ' 学生人数
Dim score(1 To 3000) As Integer ' 存放学生分数
Dim xm(1 To 1000) As String ' 存放学生姓名
Private Sub Command1_Click()
Dim i As Integer, t As Integer, code As Integer, mc As Integer
Dim a(0 To 100) As Integer '存放每个分数的个数
Dim b(0 To 100) As Integer '存放每个分数的名次
Dim code_n(1 To 3) As String
code_n(1) = "游泳" : code_n(2) = "跑步" : code_n(3) = "跳远"
code = Val(Text1.Text)
For i = 0 To 100
a(i) = 0
Next i
sum = 0
For i = 1 To m '计算每个分数的个数及体能测试优秀的人数
t = ①
a(score(t)) = a(score(t)) + 1
If score(t) >= 90 Then sum = sum + 1
Next i
mc = 1
For i = 100 To 0 Step -1 '计算每个分数的名次
If a(i) <> 0 Then
b(i) = mc
mc = ②
End If
Next i
List2.Clear
List2.AddItem " 姓名 " + ③ + " 名次"
For i = 1 To m
'在List2中输出m个学生的姓名、指定项目的分数及名次,代码略
Next i
sum = Int(sum / m * 10000 + 0.5) / 100
Label2.Caption = "优秀率是:" + Str(sum) +"%"
End Sub
Private Sub Form_Load()
’从数据库读取姓名存入数组xm,体能测试数据存入数组score,总人数存入变量m。
’代码略
End Sub
①②③
试题篮