在24点游戏中,随机生成4个 数,让用户对这4个数进行四则运算,对用户输入进行判断,若结果为24,则生命值不变,分数加10,将结果存入文件,并以排行榜的方式打开。
首先进行四个数的随机输出(给定的范围是1到13),用rand()函数 实现。
{
printf("你要计算的四个数是:");
num1=(rand()%13+1);
printf("%d ",num1);
num2=(rand()%13+1);
printf("%d ",num2);
num3=(rand()%13+1);
printf("%d ",num3);
num4=(rand()%13+1);
printf("%d \n",num4);
initnum();
}
接着让用户输入,并对用户输入的进行判断,这里我用了数据结构里栈构造一个计算器对输入的进行运算。定义一个存储运算符的栈SNode_Symbol和一个存储运算数字的栈SNode_Num。取出输入的数字和运算符,
//定义第一个栈---作为存放运算数的操作符
struct SNode_Num {
int datas[MAX];
int top;
};
typedef struct SNode_Num OperateNum;
//定义第二个栈---作为存放运算符号的栈
struct SNode_Symbol {
char symbol[MAX];
int top;
};
typedef struct SNode_Symbol OperateSymbol;
//判断栈满
void InitOperateNum(OperateNum *StackNum)
{
StackNum->top = -1;
}
void InitOperateSymbol(OperateSymbol *StackSymbol)
{
StackSymbol->top = -1;
}
//入栈
void PushOperateNum(OperateNum *StackNum, int x)
{