題目如下(請用VB6.0版)歌唱大賽5位歌者進入總決賽,有10位評審參與評分工作,但每位歌者所獲得的10位位評審分數中,要先去掉最高分與最低分再平均才是歌者的得分,試寫一程式記錄10位評審給5位歌者的分數,最後再計算每位歌者的得分。Dim score(4, 9)For I = 0 To 4 Sum = 0 For J = 0 To 9 S = "輸入第" & I 1 & "位歌者, 第" & J 1 & "位評審的分數" score(I, J) = Val(InputBox(S)) Sum = Sum - Max - Mim score(I, J)Next JPrint "第"; I 1; "位歌者總分="; Sum, "平均分數="; (Sum - Max - Mim) / 10Next I這是我自己寫的程式,以上的程式有什麼錯誤,我抓不出來,請會的人幫我一下,謝謝!!
2006-01-11 05:36:33 · 3 個解答 · 發問者 ? 5 in 電腦與網際網路 ➔ 程式設計
我有改了,但是他的成績算出來是10個分數的平均
而不是扣除最大數與最小數的平均捏
那我的程式是錯在哪裡呢??
2006-01-11 05:45:12 · update #1
Dim score(4, 9)For i = 0 To 4Sum = 0Max = 0Min = 999For j = 0 To 9s = "輸入第" & i + 1 & "位, 第" & j + 1 & "位的分數"score(i, j) = Val(InputBox(s))If score(i, j) > Max Then Max = score(i, j)If score(i, j) < Min Then Min = score(i, j)Sum = Sum + score(i, j)Next jPrint "第"; i; 1; "位總分="; Sum, "平均分="; (Sum - Max - Mim) / 8Next i
2006-01-11 08:32:12 · answer #1 · answered by ? 5 · 0⤊ 0⤋
For 歌者 = 1 To 5
總分 = 0: 最高 = -10000: 最低 = 10000
For 評審 = 1 To 10
分數 = Val(InputBox("輸入第" & 歌者 & "位歌者, 第" & 評審 & "位評審的分數"))
總分 = 總分 + 分數
If 分數 > 最高 Then 最高 = 分數
If 分數 < 最低 Then 最低 = 分數
Next
總分 = 總分 - 最高 - 最低
Print "第 " & 歌者 & " 位歌者總分 = " & 總分 & " , 平均分數 = " & 總分 / 8
Next
2006-01-11 15:52:54 · answer #2 · answered by ? 2 · 0⤊ 0⤋
Dim score(4, 9)
For I = 0 To 4
Sum = 0: Max = "": Min = ""
For J = 0 To 9
S = "輸入第" & I + 1 & "位歌者, 第" & J + 1 & "位評審的分數"
score(I, J) = Val(InputBox(S))
If Max = "" Then Max = score(I, J)
If Val(Max) < score(I, J) Then Max = score(I, J)
If Min = "" Then Min = score(I, J)
If Val(Min) > score(I, J) Then Min = score(I, J)
Sum = Sum + score(I, J)
Next J
Print "第"; I + 1; "位歌者總分="; Sum, "平均分數="; (Sum - Val(Max) - Val(Min)) / 8
Next I
2006-01-11 07:10:47 · answer #3 · answered by W.J.S. 7 · 0⤊ 0⤋