---
# System prepended metadata

title: '**小專題 電子雞自己猜數字 解題策略**'

---

# **小專題 電子雞自己猜數字 解題策略**

## 1.定出答案（answer），執行第一次猜測

**使用亂數rand，定出答案及第一次猜測之數字（guess）為1~1000之間的亂數**
```c
answer = 1 + rand() % 1000
guess = 1 + rand() % 1000
```

## 2.比較answer及guess之大小

（1）若answer等於guess，列印出正確訊息及ASCII圖像
```
EXCELLENT ! You guessed the number in N times.
       __              __
      /_ \\_.--'''--._/ _\
      \\ )   _     _   ( /
       |    (o)___(o)    |
       |       \_/       |
        \       |       /
         \     <Y>     /
          \_    _    _/
         ___)==( )==(__
       /'     // \\     `\
      /      //   \\      \
     /   |  |/     \|  |   \
    /,_ /|             |\\_,\
   ((_// |             | \\_))
    `-'  |             |  `-'
         |             |
         |             |
         |      _      |
        /      / \      \
       /      /   \      \
      /      /     \      \
    _/      /       \      \_
   ( _____ /         \ _____ )
    '-----'           `-----'
```
（2）若answer小於guess，則answer範圍縮減至1~guess之間

（3）若answer大於guess，則answer範圍縮減至guess~1000之間

## 3.第二次猜測（guess2）

**同樣使用亂數，定出第二次猜測之數字（guess2）**

（1）若answer小於guess2且**guess2 < guess**，則answer範圍縮減至1~guess2之間。若**guess2 > guess**，則維持answer範圍在1~guess之間。

（2）若answer大於guess2且**guess2 > guess**，則answer範圍縮減至guess2~1000之間。若**guess2 < guess**，則維持answer範圍在guess~1000之間。

（3）若answer等於guess2，列印出正確訊息及ASCII圖像

## 4.第N次猜測

**與第二次猜測邏輯相同，使用亂數定出數字，進行猜測直到猜中正確答案**

## 5.猜測正確

（1）列印出正確訊息及ASCII圖像（N為猜測次數）
```
EXCELLENT ! You guessed the number in N times.
       __              __
      /_ \\_.--'''--._/ _\
      \\ )   _     _   ( /
       |    (o)___(o)    |
       |       \_/       |
        \       |       /
         \     <Y>     /
          \_    _    _/
         ___)==( )==(__
       /'     // \\     `\
      /      //   \\      \
     /   |  |/     \|  |   \
    /,_ /|             |\\_,\
   ((_// |             | \\_))
    `-'  |             |  `-'
         |             |
         |             |
         |      _      |
        /      / \      \
       /      /   \      \
      /      /     \      \
    _/      /       \      \_
   ( _____ /         \ _____ )
    '-----'           `-----'
```

（2）列印再玩一次邀請訊息
```
Would you like to play again?Please type(1=yes, 2=no)?
```
（3）若使用者輸入1（yes），則重複執行程式，直至使用者輸入2（no）
