Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

?
Lv 7
? 發問時間: 電腦與網際網路程式設計 · 1 0 年前

c++程式(猜數字)

我要設計一個簡易的二位數猜數字

用while讓我可以一直猜

但是做出來發現不是這樣

請問如何修改??

#include<iostream>

using namespace std;

int main()

{ int a,b,c;

cout <<"請猜十位數";

cin >> a;

cout <<"請猜個位數";

cin >> b;

while(1) {if(a==6){ if(b==2){ cout <<"你猜對了" <<endl;

system("pause");

return 0;

}

}

if(a==6){ if(b!=2){ cout <<"1A0B" <<endl;

system("pause");

}

}

if(a!=6){ if(b==2){ cout <<"1A0B" <<endl;

system("pause");

}

}

if(a!=6){ if(b!=2){ cout <<"0A0B" <<endl;

system("pause");

}

}

}

system("pause");

}

4 個解答

評分
  • 1 0 年前
    最佳解答

    "直到猜對跳出程式"

    如果是這樣的話,改寫成以下就可

    int a,b,c;

    while(1)

    {

    cout <<"請猜十位數";

    cin >> a;

    cout <<"請猜個位數";

    cin >> b;

    if(a==6)

    if(b==2)

    {

    cout <<"你猜對了" <<endl;

    break;

    }

    if(a==6)

    if(b!=2)

    cout <<"1A0B" <<endl;

    if(a!=6)

    if(b==2)

    cout <<"1A0B" <<endl;

    if(a!=6)

    if(b!=2)

    cout <<"0A0B" <<endl;

    }

    system("pause");

    break指令可以跳出for或while迴圈

    如果不是2A0B的狀況(全對),迴圈回到最上面那一行執行

    把輸入的指令放到迴圈裡,就可以重複執行啦

    直到滿足條件跳出

    參考資料: me
  • ?
    Lv 7
    1 0 年前

    就是讓玩的人輸入十位和個位

    然後電腦判斷後顯示幾A幾B

    (A表位置數字都正確,B表位置錯誤數字正確)

  • 其威
    Lv 7
    1 0 年前

    應該是要猜數字, 輸入十位數跟個位數.

    答案是 62.

  • ?
    Lv 6
    1 0 年前

    建議你先把需求寫出來,

    看你的 code 看不懂需求是什麼

還有問題?馬上發問,尋求解答。