C語言實現紙牌24點小遊戲

2022-10-03 23:15:21 字數 1405 閱讀 2894

此程式參考c語言實現經典24點紙牌益智遊戲,並做出一些改進。

一、題目要求:

24點遊戲規則:

從撲克中每次取出4張牌。使用加減乘除,第乙個能得出24者為贏。(其中,j代表11,q代表12,k代表13,a代表1),按照要求程式設計解決24點遊戲。

基本要求:

隨機生成4個代表撲克牌牌面的數字字母,程式自動列出所有可能算出24的表示式,用擅長的語言(c/c++/j**a或其他均可)實現程式解決問題。

1.程式風格良好(使用自定義注釋模板)

2.列出表示式無重複。

二、演算法思路:

通過隨機函式隨機產生1到13之間的4個數;

對這四個數分三次進行四則運算,並在每次運算完成後給表示式加上括號,避免運算順序導致運算值錯誤;

若滿足結果等於24,則輸出表示式。

三、除錯及測試截圖:

程式執行後出現小數減大數,使實際結果為負的情況

除錯:除錯發現在四則運算減法這塊沒有對減數與被減數的大小進行約束,在加上條件判斷後正確

執行結果:

四、程式實現:

#include

#include

#include

#include

using namespace std;

int m; //用來標誌能否運算出24

double arithmetic(int flag,float m,float n) //進行四則運算}

void show(int type,int i,int j,int k,float a,float b,float c,float d)//利用引數type選擇輸出形式,利用引數i,j,k確定輸出的運算符號

} if (k==2)// ()*()

} if (k==3)

}

} }}

int main() //主函式

{ int y;

int i,j,k,l;

srand((unsigned)time(0));

int a[4]; //儲存所產生的4個隨機數

{ cout<< "********************24點遊戲*********************"<>y ; //輸入選項

while(true)

{ if(y==0)

{ cout程式設計客棧out<

五、總結:

在本次24點紙牌遊戲程式設計中,雖然考慮到了除數不能為0的情況,但還是忽略了減數與被減數的大小問題,一開始導致了減法結果為負,使表示式結果為-24,在加上if條件判斷後,結果正確。

在以後的程式設計中應當提高邏輯思維,考慮周全,避免忽略一些可能導致結果錯誤的情況,應繼續努力學習,在此演算法上做進一步的提高與完善。

本文標題: c語言實現紙牌24點小遊戲

本文位址:

C語言實現24點小遊戲

遊戲規則 從鍵盤輸入任意1 13的4個數,然後用算術運算子 一 將這四個數組成一乙個算術表示式 可加括號,每個數字只能使用1次 使得該式的運算結果為24,每輸入一次表示式,系統給出該式的運算結果,如果結果是24,則遊戲結束 如果不是,則繼續組合表示式,直到結果為24為止。本題最簡單的解法就是應用窮舉...

C語言 紙牌計算24點小遊戲

c語言實現紙牌計算24點小遊戲 利用系統時間設定隨機種子生成4個隨機數,並對4個數字之間的運算次序以及運算符號進行列舉,從而計算判斷是否能得出24,以達到程式目的。程式主要功能已完成,目前還有部分細節未處理,待完成ing.對於 中的錯誤,懇請批評指正。遊戲描述 a 10 分別代表數字 1 10。j,...

24點小遊戲(c語言)

24點遊戲,輸入四個數字,分別進行加減乘除四則運算結果為 24的輸出成立表示式。include include 本函式用於判斷符號的種類 char operator signaltype int signal i 對兩個數進行算術運算 double operation double a,double...