C++ 入門指南 4.01

練習 30.9 參考程式 - 練習發展猜數字遊戲計算核心

#include <iostream>
#include <random>
#include <set>

using namespace std;

int main(void) {
    // 宣告答案變數
    int answer;

    while (true) {
        // 建立隨機設備變數
        random_device r;
        // 建立擬隨機數產生器變數
        mt19937 e(r());
        // 建立隨機分佈變數
        uniform_int_distribution<mt19937::result_type> n(1000, 9999);
        // 建立隨機答案變數
        answer = n(r);

        // 將答案數字個別放入集合
        set<int> answer_set;
        int multiple = 1000;
        int demo = answer;
        for (int i = 0; i < 4; i++) {
            int demo2 = demo / multiple;
            answer_set.insert(demo2);
            demo = demo % multiple;
            multiple /= 10;
        }

        // 檢查是否有重複數字
        if (answer_set.size() == 4) {
            break;
        }
        else {
            continue;
        }
    }

    // 印出答案變數
    cout << "遊戲答案:" << answer << endl;

    return 0;
}

/* 《程式語言教學誌》的範例程式
   http://kaiching.org/
   檔名:guess_demo09.cpp
   編譯:g++ guess_demo09.cpp
   執行:./a.out
   功能:猜數字遊戲核心的發展中版本
   作者:張凱慶 */
回到練習題目

上一頁 練習 30.8 參考程式 - 練習發展猜數字遊戲計算核心
回 C++ 入門指南 4.01 目錄
下一頁 練習 30.10 參考程式 - 練習發展猜數字遊戲計算核心
回 C++ 教材
回程式語言教材首頁