#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
char getPoker(int val)
{
if(val==1)
{
return 'A';
}
else if(val<10)
{
return val+'0';
}
else if(val==10)
{
return '0';
}
else if(val==11)
{
return 'J';
}
else if(val==12)
{
return 'Q';
}
else if(val==13)
{
return 'K';
}
}
void printAns(int flag,int *poker,char *oper,char *answer)
{
char a=getPoker(poker[0]);
char b=getPoker(poker[1]);
char c=getPoker(poker[2]);
char d=getPoker(poker[3]);
switch(flag)
{
//1.((A*B)*C)*D
case 1:
printf("((%c%c%c)%c%c)%c%c\n",a,oper[0],b,oper[1],c,oper[2],d);
break;
//2.(A*(B*C))*D
case 2:
printf("(%c%c(%c%c%c))%c%c\n",a,oper[0],b,oper[1],c,oper[2],d);
break;
#include <stdlib.h>
#include <math.h>
#include <time.h>
char getPoker(int val)
{
if(val==1)
{
return 'A';
}
else if(val<10)
{
return val+'0';
}
else if(val==10)
{
return '0';
}
else if(val==11)
{
return 'J';
}
else if(val==12)
{
return 'Q';
}
else if(val==13)
{
return 'K';
}
}
void printAns(int flag,int *poker,char *oper,char *answer)
{
char a=getPoker(poker[0]);
char b=getPoker(poker[1]);
char c=getPoker(poker[2]);
char d=getPoker(poker[3]);
switch(flag)
{
//1.((A*B)*C)*D
case 1:
printf("((%c%c%c)%c%c)%c%c\n",a,oper[0],b,oper[1],c,oper[2],d);
break;
//2.(A*(B*C))*D
case 2:
printf("(%c%c(%c%c%c))%c%c\n",a,oper[0],b,oper[1],c,oper[2],d);
break;

这是一个C语言实现的24点纸牌游戏算法,通过穷举运算顺序,结合加减乘除四种操作符,判断能否得出24。程序包括获取纸牌值的函数、打印答案的函数、计算结果的函数以及随机生成纸牌的函数。
最低0.47元/天 解锁文章
2170

被折叠的 条评论
为什么被折叠?



