Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

小小程式問題~請各位大大幫忙

0 views
Skip to first unread message

Red-wings Angel

unread,
Dec 19, 2001, 11:06:31 AM12/19/01
to
我想把最高分的歌手號碼輸出..可是我失敗了~~~
請問我應該要改哪部分呀??

小弟我寫的程式:
Private Sub Command1_Click()
Dim x(), y(), z(), SUM()
p = Val(InputBox("請輸入參賽人數"))
ReDim Preserve x(p), y(p), z(p), SUM(p)
While A < p
x(A) = InputBox("請第一位評審輸入對第" & 1 + A & "位歌手的分數")
A = A + 1
Wend

While B < p
y(B) = InputBox("請第二位評審輸入對第" & 1 + B & "位歌手的分數")
B = B + 1
Wend

While C < p
z(C) = InputBox("請第三位評審輸入對第" & 1 + C & "位歌手的分數")
C = C + 1
Wend

While d < p
SUM(d) = Val(x(d)) + Val(y(d)) + Val(z(d))
d = d + 1
Wend
Max = SUM(0)
For i = 1 To d
If SUM(i) > Max Then SUM(i) = Max
Next


Print "總分為" & Max, "第一名為第" & i & "位歌手"
End Sub
--
[1;33m ● [m ﹋ [1;37m﹋ [m 作者 [36mSASAKU [m 來自 [36m10.69.50.2 [m
[1;36m [44m▂▂ [36m▂▂▂ [m [1;32m南台科技大學˙南台計中BBS [33m[STUT.BBS] [31m@ [37mbbs.stut.edu.tw [m

包仔

unread,
Dec 19, 2001, 10:05:13 PM12/19/01
to
問題出在這裡

> Max = SUM(0)
> For i = 1 To d
> If SUM(i) > Max Then SUM(i) = Max
^^^^^^^^^^^^改成下面這樣
If SUM(i) > Max Then Max = SUM(i)
然後在多加一個變數儲存是第幾位
Who = i

> Next
> Print "總分為" & Max, "第一名為第" & i & "位歌手"
輸出的時後 ^^^ ^^^改為Who

> End Sub


Good luck to you
--
老師分為四種
第一種:壞老師->喜歡刁難學生。
第二種:老 師->中規中矩。
第三種:好老師->分數開根號乘於10。
第四種:好好老師->分數乘於0.4加60。
--
[1;32m※ Origin: [33m大葉大學戀戀紅城 [37m<bbs.dyu.edu.tw> [m
[1;32m※ From : [36mlbpc168.dyu.edu.tw [m

unknown future

unread,
Dec 19, 2001, 3:11:15 PM12/19/01
to
※ 引述《SASAK...@bbs.stut.edu.tw (Red-wings Angel)》之銘言:

> 我想把最高分的歌手號碼輸出..可是我失敗了~~~
> 請問我應該要改哪部分呀??
> 小弟我寫的程式:
> Private Sub Command1_Click()
> Dim x(), y(), z(), SUM()
> p = Val(InputBox("請輸入參賽人數"))
> ReDim Preserve x(p), y(p), z(p), SUM(p)
> While A < p
> x(A) = InputBox("請第一位評審輸入對第" & 1 + A & "位歌手的分數")
> A = A + 1
> Wend
> While B < p
> y(B) = InputBox("請第二位評審輸入對第" & 1 + B & "位歌手的分數")
> B = B + 1
> Wend
> While C < p
> z(C) = InputBox("請第三位評審輸入對第" & 1 + C & "位歌手的分數")
> C = C + 1
> Wend
> While d < p
> SUM(d) = Val(x(d)) + Val(y(d)) + Val(z(d))
> d = d + 1
> Wend
> Max = SUM(0)
> For i = 1 To d
p-1

> If SUM(i) > Max Then SUM(i) = Max

Max = SUM(i)


> Next
> Print "總分為" & Max, "第一名為第" & i & "位歌手"

> End Sub

--

[0m [34;1mLove takes the meaning in love's conference. [0m

-A Midsummer Night's Dream, II. ii. 46
--
[1;32m┌───── [33m◆ [37mKKCITY [33m◆ [32m─────┐ [34m┐┌┐┐┌┐┌─┐┌┬┐┌┬┐┐ ┌ [m
[1;32m│ [31m bbs.kkcity.com.tw [32m│ [37m├┘┐├┘┐│ │ │ └┬┘ [m
[1;32m└── [34m《 [0;37mFrom:211.21.183.107 [1;34m》 [32m──┘ [36m┘ ┘┘ ┘└─┘└┴┘ ┴ ┴ [m

unknown future

unread,
Dec 19, 2001, 3:29:03 PM12/19/01
to
※ 引述《Sywoei (unknown future)》之銘言:

> ※ 引述《SASAK...@bbs.stut.edu.tw (Red-wings Angel)》之銘言:
> > Print "總分為" & Max, "第一名為第" & i & "位歌手"
^^ 這裡也有錯 應該在迴圈中設另一個
變數記錄第一名的人
我把程式重寫如下
Private Sub Command1_Click()

Dim score() As Integer
Dim sum_temp, Max, Max_i, i, c As Integer

p = Val(InputBox("請輸入參賽人數"))

ReDim Preserve score(3, p)

For i = 0 To p - 1
sum_temp = 0
For c = 0 To 2
score(c, p) = InputBox("請第" & c + 1 & "位評審輸入對第" & 1 + i & "位歌手的分數")
sum_temp = sum_temp + score(c, p)
Next c
If sum_temp > Max Then
Max = sum_temp
Max_i = i + 1
End If
Next i

Print "總分為" & Max, "第一名為第" & Max_i & "位歌手"

0 new messages