Re: [問題] C#猜數字程式

看板C_Sharp作者 (恍惚)時間16年前 (2009/06/08 10:28), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串2/2 (看更多)
給你個程式碼吧 剛剛想了一下亂寫的 不過是VB的版本 自己轉換去 Public Class Form1 Dim a As String = "1234" '產生一個不重複的固定變數 可以自己改成亂數 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load lbl1.Text = "設定的數字是" & a End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '將產生的亂數存到陣列中以待比對 Dim aa(a.Length - 1) As String For i = 0 To a.Length - 1 aa(i) = a.Substring(i, 1) Next '將輸入的四位數字 存放到B陣列 Dim b = input.Text.ToString Dim bb(b.Length - 1) As String For i = 0 To b.Length - 1 bb(i) = b.Substring(i, 1) Next Dim ta As Integer = 0 '設定一個變數承接幾A Dim tb As Integer = 0 '設定一個變數承接幾B '比對兩個陣列 同樣陣列索引位置存放相同的值 代表是A '反之 若陣列存放值相同 但索引不同 代表是B For i = 0 To b.Length - 1 For j = 0 To a.Length - 1 If i = j Then If bb(i) = aa(j) Then ta += 1 ElseIf i <> j Then If bb(i) = aa(j) Then tb += 1 End If Next Next MsgBox("你輸入的數字有" & ta & "A" & tb & "B") End Sub End Class 這個程式 是針對出題目的數字是四位不同數字 且猜的數字四位都不同的情況下描述 如果待比對數字是 1234 你猜 1111 就會變成1A3B 接下來的問題就交給你解決吧...... ※ 引述《cloudialove (cloudia)》之銘言: : 遊戲的玩法是先設定好一組數字,例如1428,然後讓玩家去猜。 : 例如玩家猜了 8479 ,則輸出 1A1B,其中A表示有這個數字,且數字是在正確的位置, B表示有這個數字,但位置不對; : 因為數字4被猜對了位置也正確,而數字8被雖猜對了但位置不正確,所以得到1A1B。 : 請寫一個程式,讀入一個玩家猜數字的陣列(例如:1632、8614、8479、1428),然後分別輸出其結果為幾A幾B。 : 老師出了這題目 : 看了很多例子 : 還是寫不出來 : 拜託了大大們 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.21.161.253

06/09 04:04, , 1F
06/09 04:04, 1F

06/09 04:12, , 2F
提供一個,判斷輸入是否為數字,在 TextBox 檔掉即可
06/09 04:12, 2F
文章代碼(AID): #1AB7TFN4 (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1AB7TFN4 (C_Sharp)