小王編寫(xiě)了一個(gè)“學(xué)生體能情況分析”程序,其功能是分項(xiàng)計(jì)算名次和優(yōu)秀率(分?jǐn)?shù)90分及以上為優(yōu)秀)。運(yùn)行程序時(shí),在列表框List1中顯示所有學(xué)生的3項(xiàng)體能測(cè)試分?jǐn)?shù),在文本框 Text1中輸入測(cè)試項(xiàng)目代碼(1表示游泳,2表示跑步,3表示跳遠(yuǎn)),單擊“計(jì)算”按鈕 Command1后,計(jì)算結(jié)果分別顯示在列表框List2和標(biāo)簽 Label2中。程序運(yùn)行界面如圖1所示。
程序設(shè)計(jì)過(guò)程中數(shù)據(jù)的存儲(chǔ)和計(jì)算方法如下:
(1)學(xué)生體能分?jǐn)?shù)的存儲(chǔ):如圖2所示,第1位學(xué)生的游泳、跑步、跳遠(yuǎn)分?jǐn)?shù)依次存入數(shù)組 score的第1、2、3個(gè)元素里,第2位學(xué)生的游泳、跑步、跳遠(yuǎn)分?jǐn)?shù)依次存入數(shù)組 score的第4、5、6個(gè)元素里,以此類(lèi)推。
(2)計(jì)算名次的算法:先統(tǒng)計(jì)每個(gè)分?jǐn)?shù)的個(gè)數(shù),存入數(shù)組a,如圖3中a(96)值為9,表示共有9個(gè)96分;然后按照分?jǐn)?shù)從高到低依次計(jì)算每個(gè)有效分?jǐn)?shù)(該分?jǐn)?shù)的個(gè)數(shù)不為0)對(duì)應(yīng)的名次存入數(shù)組b,分?jǐn)?shù)相同時(shí)名次并列,如圖3中b(96)值為10,表示96分的名次是(并列)第10名,以此類(lèi)推。
分?jǐn)?shù) | 100 | 99 | 98 | 97 | 96 | … | 0 |
數(shù)組a | 3 | 0 | 0 | 6 | 9 | … | 0 |
數(shù)組b | 1 | 4 | 10 | … |
(1)根據(jù)圖1中列表框 List1中的信息和圖2所示的數(shù)據(jù)存儲(chǔ)方法可知,數(shù)組元素 score(23)的值為
100
100
(填數(shù)字)。(2)實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)冖?、②、③的橫線處填入合適的代碼。
Dim m As Integer'學(xué)生人數(shù)
Dim score(1To 3000 )As Integer'存放學(xué)生分?jǐn)?shù)
Dim xm(1To1000)As String'存放學(xué)生姓名
Private Sub Commandl_Click( ?。?br />Dim i As Integer,t As Integer,code As Integer,mc As Integer
Dima(0 To 100)As Integer'存放每個(gè)分?jǐn)?shù)的個(gè)數(shù)
Dimb(0To100)As Integer'存放每個(gè)分?jǐn)?shù)的名次
Dim code_n(I To 3)As String
code_n(1)=″游泳″:code_n(2)=″跑步″:code_n(3)=″跳遠(yuǎn)″
code=val(Text1.Text)
For i=0 To 100
a(i)=0
Next i
sum=0
For i=1 Tom′計(jì)算每個(gè)分?jǐn)?shù)的個(gè)數(shù)及體能測(cè)試優(yōu)秀的人數(shù)
t=
①
①
a(score(t))=a(score(t))+1
If score(t)>=90 Then sum=sum+1
Next
mc=1
For i=100 To 0 Step-1'計(jì)算每個(gè)分?jǐn)?shù)的名次
Ifa(i)<>0 Then
b(i)=mc
mc=
②
②
End if
Next i
List2.clear
List2.AddItem″姓名″+
③
③
+″名次''For i=1 To m
'在List2中輸出m個(gè)學(xué)生的姓名、指定項(xiàng)目的分?jǐn)?shù)及名次,代碼略
Next i
sum=lnt(sum/m*10000+0.5)/100
Label2.Caption=“優(yōu)秀率是:“+Str(sum)+″%″
End sub
Private Sub form_Load( ?。?br />'從數(shù)據(jù)庫(kù)讀取姓名存入數(shù)組xm,體能測(cè)試數(shù)據(jù)存入數(shù)組 score,總?cè)藬?shù)存入變量m。
'代碼略
End Sub
【考點(diǎn)】編輯事件處理過(guò)程的代碼.
【答案】100;①;②;③
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:1引用:1難度:0.5
相似題
-
1.根據(jù)AQI值判斷城市的空氣質(zhì)量。若城市的AQI值(整數(shù))不超過(guò)100則空氣質(zhì)量?jī)?yōu)良,否則空氣質(zhì)量有污染。當(dāng)輸入的AQI值為-1時(shí)則退出程序。不要更改程序結(jié)構(gòu),將題中的①②③④填入正確的語(yǔ)句。
city=input(“請(qǐng)輸入城市名:”)
AQI=int(input(“請(qǐng)輸入空氣質(zhì)量指數(shù)AQI的值:”))
①______ AQI!=-1:
if ②______:
print(city,“的空氣質(zhì)量?jī)?yōu)良?!保?br />③______:
print(city,“的空氣質(zhì)量有污染。”)
city=input(“請(qǐng)輸入城市名:”)
AQI=④(input(“請(qǐng)輸入空氣質(zhì)量指數(shù)AQI的值:”))
(1)序號(hào)①答案為
A.if
B.while
C.for
D.def
(2)序號(hào)②答案為
A.AQI>=100
B.AQI<=100
C.AQI>100
D.AQI<100
(3)序號(hào)③答案為
A.elif
B.break
C.if
D.else
(4)序號(hào)④答案為
A.int
B.float
C.str
D.else發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4 -
2.一球從100米高度自由落下,每次落地后反跳回原高度的一半,再下落。編寫(xiě)一個(gè)C程序,求它在第10次落地時(shí),其經(jīng)過(guò)了多少米?第10次反彈多高?
發(fā)布:2025/1/2 11:0:1組卷:0引用:3難度:0.3 -
3.利用海倫公式求解三角形面積。已知a,b,c為三角形的三條邊長(zhǎng),p為三角形的半周長(zhǎng),即p=(a+b+c)/2,計(jì)算此三角形面積S的海倫公式為:。不要更改程序結(jié)構(gòu),將題中的①②③填入正確的語(yǔ)句。
import math#導(dǎo)入數(shù)學(xué)模塊
def hl(a,b,c):#定義求三角形面積的函數(shù)
p=①
s=math.jye.ai(②)#sqrt用于計(jì)算算術(shù)平方根
return ③#返回面積的值
a,b,c=3,4,5#邊長(zhǎng)依次賦值
print(“此三角形的面積S為:“,hl(a,b,c))
A. (a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C. (a+b+c)*2 D.s
(2)序號(hào)②答案為
A.(a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C.(a+b+c)*2 D.(3+4+5)/2
(3)序號(hào)③答案為
A.p B.s
C.p*(p-a)*(p-b)*(p-c) D.0發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
把好題分享給你的好友吧~~