各位大大幫幫忙c++猜數字 |
尚未結案
|
Q仔
一般會員 ![]() ![]() 發表:1 回覆:0 積分:0 註冊:2005-01-07 發送簡訊給我 |
不好意思我有ㄑ翻過前面ㄉ文章可是我有用ㄊ們ㄉ來做了一次
可是不會判斷?A?B,也不會亂數選數字,請各位高手幫忙一下
拜託拜託___________________________________________________________
題目:考慮電腦出數字C=abcd (亂數出數字 數字0-9)
玩家出P=wxyz
則當(a==w)or(b==x)or(c==y)(d==z)時
A=A 1
當(a==x),(a==y),(a==z)or
(b==w),(b==y),(b==z)or
(c==w),(c==x),(c==z),or
(d==w),(d==x),(d==y)時
B=B 1
告知玩家?A?B
_____________________________________________________________
主程式結構
電腦用亂數出4各數字C
while(..................)
{
玩家輸入猜數字P
計算A
計算B
印出玩家得?A?B
}
程式結束
_____________________________________________________________
計算A寫法
A=0;
for(i............................)
if(C[i]==P[i])
A
_____________________________________________________________
計算B寫法
P=wxyz
C=abcd
旋轉P得
P'=xyzw 累計B
旋轉P"得
P"=yzwx
再跟C=abcd下ㄑ比較
再旋轉一次P"'得P"'=zwxy
再跟C=abcd下ㄑ比較
_____________________________________________________________
|
fffhghgjh
一般會員 ![]() ![]() 發表:2 回覆:33 積分:17 註冊:2004-12-23 發送簡訊給我 |
void LeftAns(int *bak); int main(int argc, char* argv[]) { int ans[4],input[4],anstemp[4]; int i; int AnsA,AnsB; bool bOk=false; randomize(); ans[0]=rand(); do{ ans[1]=rand(); }while(ans[0]==ans[1]); do{ ans[2]=rand(); }while((ans[2]==ans[1])||(ans[0]==ans[2])); do{ ans[3]=rand(); }while((ans[3]==ans[0])||(ans[3]==ans[1])||(ans[3]==ans[2])); do{ AnsA=0; AnsB=0; cout<<"input:\r\n"; cin>>input[0]>>input[1]>>input[2]>>input[3]; LeftAns(ans); for(i=0;i<4;i ) { if(ans[i]==input[i]) { AnsB ; } } LeftAns(ans); for(i=0;i<4;i ) { if(ans[i]==input[i]) { AnsB ; } } LeftAns(ans); for(i=0;i<4;i ) { if(ans[i]==input[i]) { AnsB ; } } LeftAns(ans); for(i=0;i<4;i ) { if(ans[i]==input[i]) { AnsA ; } } if(AnsA==4) { cout<<"4A\r\n"; bOk=true; break; } else { cout< |
ddy
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |