如何用C語言做24點遊戲的程式,如何用C語言做一個24點遊戲的程式?

2021-05-22 12:58:32 字數 3755 閱讀 5433

1樓:匿名使用者

/*6.3.4 源程式*/

#define n 20

#define col 100

#define row 40

#include "stdio.h"

#include "time.h" /*系統時間函式

62616964757a686964616fe78988e69d8331333236383364*/

#include "graphics.h" /*圖形函式*/

#include "alloc.h"/*動態地址分配函式*/

#include "stdlib.h" /*庫函式*/

#include "string.h" /*字串函式*/

#include "ctype.h" /*字元操作函式*/

char p[4][13]=,/*撲克牌,10用0來表示*/,,

};typedef struct node

stack1; /*棧1*/

typedef struct node2

stack2; /*棧2*/

void init(void);/*圖形驅動*/

void close(void);/*圖形關閉*/

void play(void);/*發牌的具體過程*/

void rand1(int j);/*隨機發牌函式*/

void change(char *e,char *a); /*中綴變字尾函式*/

int ***puter(char *s); /*字尾表示式計算函式*/

stack1 *initstack1(stack1 *top); /*棧1初始化*/

stack1 *push(stack1 *top,int x); /*棧1入棧運算*/

stack1 *pop(stack1 *top); /*棧1刪除棧頂元素*/

int topx(stack1 *top); /*棧1讀棧頂元素*/

stack1 *ptop(stack1 *top,int *x); /*棧1讀出棧頂元素值並刪除棧頂元素*/

int empty(stack1 *top); /*判棧1是否為空函式*/

stack2 *initstack2(stack2 *top); /*棧2初始化*/

stack2 *push2(stack2 *top,char x); /*棧2入棧運算*/

stack2 *pop2(stack2 *top); /*棧2刪除棧頂元素*/

char topx2(stack2 *top); /*棧2讀棧頂元素*/

stack2 *ptop2(stack2 *top,char *x); /*棧2讀出棧頂元素值並刪除棧頂元素*/

int empty2(stack2 *top); /*判棧2是否為空函式*

int text1(char *s) ; /*顯示文字*/

main()

/*否則,開始下一輪迴圈*/

close();

return; /*返回*/

}void rand1(int j)/*隨機發牌函式*/

}switch(kind)/*花式的判斷*/

settextstyle(0,0,2);

outtextxy(col+j*100-30,row+100-46,str);/*顯示左上角花色*/

outtextxy(col+j*100+16,row+100+32,str); /*顯示右下角花色*/

if(n!='0')/*輸出其他牌*/

else/*輸出10的時候*/

}void play(void)/*發牌的具體過程*/

}void init(void)/*圖形驅動*/

void close(void)/*圖形關閉*/

void change(char *e,char *a) /*中綴字串e轉字尾字串a函式*/

while(e[i]!='.'); /*直到字元為數字結束符「.」為止*/

a[j]='.';j++; /*將數字結束符「.」拷貝到a陣列依然保持結束標記*/

}if(e[i]=='(') /*如果字元是「(」時*/

top=push2(top,e[i]); /*將其壓入堆疊*/

if(e[i]==')') /*如果字元是「)」時*/

}if(e[i]=='+'||e[i]=='-') /*如果字元是加或減號時*/

}top=push2(top,e[i]); /*將當前e的字元元素壓入堆疊*/

}if(e[i]=='*'||e[i]=='/') /*如果字元是乘或除號時*/

}top=push2(top,e[i]); /*將當前e字元元素壓入堆疊*/

}i++; /*e的下標加1*/

}while(!empty2(top)) /*當不為空時反覆迴圈*/

top=ptop2(top,&a[j++]); /*將棧頂元素存入陣列a中*/

a[j]='\0'; /*將字串結束標記寫入最後一個陣列元素中構成字串*/

}int ***puter(char *s) /* 計算函式*/

while(s[i]!='.'); /*當字元不為『.』時重複迴圈*/

top=push(top,k); /*將生成的數字壓入堆疊*/

}if(s[i]=='+') /*如果為'+'號*/

if(s[i]=='-') /*如果為'-'號*/

if(s[i]=='*') /*如果為'*'號*/

if(s[i]=='/') /*如果為'/'號*/

i++; /*i加1*/

}top=ptop(top,&result); /*最後棧頂元素的值為計算的結果*/

return result; /*返回結果*/

}stack1 *initstack1(stack1 *top) /*初始化*/

stack1 *push(stack1 *top,int x) /*入棧函式*/

p->data=x; /*儲存值x到新空間*/

p->link=top; /*新結點的後繼為當前棧頂指標*/

top=p; /*新的棧頂指標為新插入的結點*/

return top; /*返回棧頂指標*/

}stack1 *pop(stack1 *top) /*出棧*/

int topx(stack1 *top) /*讀棧頂元素*/

return top->data; /*返回棧頂元素*/

}stack1 *ptop(stack1 *top,int *x) /*取棧頂元素,並刪除棧頂元素*/

int empty(stack1 *top) /*判棧是否為空*/

stack2 *initstack2(stack2 *top) /*初始化*/

stack2 *push2(stack2 *top,char x) /*入棧函式*/

p->data=x; /*儲存值x到新空間*/

p->link=top; /*新結點的後繼為當前棧頂指標*/

top=p; /*新的棧頂指標為新插入的結點*/

return top; /*返回棧頂指標*/

}stack2 *pop2(stack2 *top) /*出棧*/

char topx2(stack2 *top) /*讀棧頂元素*/

return top->data; /*返回棧頂元素*/

}stack2 *ptop2(stack2 *top,char *x) /*取棧頂元素,並刪除棧頂元素*/

int empty2(stack2 *top) /*判棧是否為空*/

int text1(char *s)

如何用C語言做winfrom程式,當伺服器資料庫被更新時通知程式執行

一般的三層為 資料訪問層,業務邏輯層,表示層。另外還有一個實體層。實體層主要對應資料庫中的表,一般是一張表對應一個實體類。實體類在專案中主要做資料載體。資料訪問層就是專門與資料庫進行資料互動的層,常見做法就是寫一個dbhelper類,這個類提供資料庫連線,資料庫命令操作,返回資料,是一個通用的類,然...

c語言24點的演算法,C語言24點的演算法?

1 你的函式非要用int 函式名 這樣的嗎?2 試試過載fabs 這個,因為fabs預設引數是double型的,你傳進去的是float型的,會有精度丟失。3 這個24點真的很挫。把隨機生成的四個數放到陣列裡,判斷加起來等於24就好 參考 如下 include include include defi...

如何用C語言編寫可以自動執行某些程式的小程式

include include pragma ment linker,subsystem windows entry maincrtstartup void main return 擴充套件資料c語言猜數字的小遊戲 include include include 時間標頭檔案。void main i...