Re: [VB6 ]求救

看板Visual_Basic作者 (小獅子)時間19年前 (2005/06/10 09:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/6 (看更多)
※ 引述《jyvonne78 (燃燒的雲燕)》之銘言: : 老師出了一個題目就是在1-100中隨機選出5個數字,然後從新排序再利用一個程 : 式找出最大值和最小值,最後再算出平均值 : 下面我寫的有沒有錯阿 請各位大大指教 : 亂數的我已經寫出來了 可是排列到平均值就不會寫了 : 雖然去看過精華區的最大值的用法 可是他說無法執行 是不是我的範圍定錯了呢? 是誰說無法執行? 沒有語法錯誤呀@@" 整個程式實在看不懂在做什麼,整個邏輯完全錯了吧@@" 重寫一個給你... Private Sub Command1_Click() '隨機選數 Dim i As Integer, r(4) As Integer Randomize '亂數初始化 AutoRedraw = True '自動重繪 For i = 0 To 4 r(i) = CInt(Rnd * 99 + 1) 'Rnd * (100 - 1) + 1 四捨五入 Print r(i); If i < 4 Then Print ", "; Else Print '輸出,逗點分隔,最後一個數換行 Next Sort r Print "最大值:" & Max(r) Print "最小值:" & Min(r) Print "平均值:" & Round(Avg(r), 2) '小數點後二位 End Sub Private Sub Sort(a) '由小至大排序 Dim i As Integer, j As Integer For i = 0 To UBound(a) For j = i + 1 To UBound(a) If a(i) > a(j) Then Swap a(i), a(j) Next Next End Sub Private Function Max(a) As Integer '陣列中尋找最大值 Dim i As Integer Max = a(0) For i = 1 To UBound(a) If a(i) > Max Then Max = a(i) Next End Function Private Function Min(a) As Integer '陣列中尋找最小值 Dim i As Integer Min = a(0) For i = 1 To UBound(a) If a(i) < Min Then Min = a(i) Next End Function Private Function Avg(a) As Double '求陣列中的平均值 Dim i As Integer, c As Integer, Sum As Integer c = UBound(a) + 1 For i = 0 To c - 1 Sum = Sum + a(i) Next Avg = Sum / c End Function Private Sub Swap(a, b) '兩數調換 Dim c c = a: a = b: b = c End Sub -- VB 程式設計 倉木麻衣 PTT 星爺板 行列輸入法 ====================================================== Visual_Basic MaiKuraki Stephen Array -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.58.156.43
文章代碼(AID): #12gEdm2H (Visual_Basic)
文章代碼(AID): #12gEdm2H (Visual_Basic)