全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2604
推到 Plurk!
推到 Facebook!

各位大大幫幫忙c++猜數字

尚未結案
Q仔
一般會員


發表:1
回覆:0
積分:0
註冊:2005-01-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-07 17:00:05 IP:218.164.xxx.xxx 未訂閱
不好意思我有ㄑ翻過前面ㄉ文章可是我有用ㄊ們ㄉ來做了一次 可是不會判斷?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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-07 19:36:53 IP:61.220.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-07 19:56:14 IP:202.145.xxx.xxx 未訂閱
只列題目需求,而未將自己寫的程式貼出並針對有問題之處發問,而期待別人幫你寫程式,此舉將使本篇視為"作業問題"依本站規定可刪除處理    新進會員請閱讀本站規定
系統時間:2024-06-26 19:10:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!