此程式參考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...