問題敘述
猜數字遊戲(二分逼近法)是一種兩人玩的小游戲,其規則如下所述。
假設兩人玩此遊戲,兩人先各在心中默想個數字(介於1~100間)
數字,然後兩人互猜對方所想數字,若數字正確則結束遊戲,
若不正確,需告訴對方答案為比較大或較小。然後兩人輪留猜
直到某人猜對為止。
例:使用者默想一數字27
電腦猜:50(答案較大請輸入1,答案較小請輸入2,猜對請輸入3)
使用者回答:2
電腦猜:25(答案較大請輸入1,答案較小請輸入2,猜對請輸入3)
使用者回答:1
電腦猜:37(答案較大請輸入1,答案較小請輸入2,猜對請輸入3)
使用者回答:2
電腦猜:31(答案較大請輸入1,答案較小請輸入2,猜對請輸入3)
使用者回答:2
電腦猜:28(答案較大請輸入1,答案較小請輸入2,猜對請輸入3)
使用者回答:2
電腦猜:26(答案較大請輸入1,答案較小請輸入2,猜對請輸入3)
使用者回答:2
電腦猜:27(答案較大請輸入1,答案較小請輸入2,猜對請輸入3)
使用者回答:3
Bingo!猜對了,共猜了7次.
遊戲結束.
--------
條件限制
1.使用者在心中默想一個數(1~100)
2.電腦以二分逼近的方式來猜使用者所想的數字,
使用者需告訴電腦所猜數字是否正確,若不正確,
需告訴電腦答案為較大或較小(可用1,2,3代碼表示大小或猜對)。
3.猜中後結束程式,並顯示所猜次數.
--------
輸出格式
無檔案輸入
--------
輸出格式
無檔案輸出
--------
輸入範例
無檔案輸入
--------
輸出範例
無檔案輸出
----------
/*
low:下限
high:上限
guess: 電腦猜的數字
result: 電腦猜的結果(該調大或調小)
可用數字代表:
例: 1=>大,2=>小,3=>猜對
下列提示之問號請自行將程式碼補上
*/
int guess,result;
int low=0,high=100;
//當結果不為猜對時,迴圈重複執行
while(result!=?)
{
//所猜的數字=上限加下限除以2;
guess=(low+high);
//印出所猜的數字
printf("%d",guess);
//讀取結果
scanf("%d",&result);
//如果要調大
if(result==?)
// 將下限調大
low=?
//如果調小
else if(result==?)
// 將上限調小
high=?
//猜對了
else if(result==)
// 印出猜對訊息
printf?
}