全文预览

数据结构课程设计24点游戏源代码

上传者:幸福人生 |  格式:doc  |  页数:53 |  大小:341KB

文档介绍
一个算式求值,直到算出24点Р if(Equal24(dRes))Р //判定表达式的值是否为24Р {Рprintf("可以这样运算:%d%c%d%c%d%c%d\n",expression[0][0],oper[ii],Рexpression[2][0],oper[jj],expression[4][0],oper[kk],expression[6][0]);Р return 1;Р }Р }Р }Р }Р }Р }Р }Р?return 0;Р}Р代码2.Р//课本算法3.4---计算算式的值Рint CalcOneExpress(int expression[][2])Р{Р?// 算术表达式求值的算符优先算法。Р?// 设OPTR和&&OPND分别为运算符栈和运算数栈,OP为运算符集合。Р?int index=0,result,c,theta,a,b;Р?sqstack OPTR; // 运算符栈,字符元素Р?sqstack OPND; // 运算数栈,实数元素Р?initstack(&OPTR);Р?push(&OPTR, 35);Р?initstack (&OPND);Р?c=expression[index][0];Р?while (c!= 35 || gettop(&OPTR)!=35)Р?{Р if(expression[index][1]!=1)Р {Р push(&OPND, c);Р index++;Р c=expression[index][0];Р } // 不是运算符则进栈Р elseР {Р switch ( precede((char)gettop(&OPTR), (char)c) )Р {Р case '<': // 栈顶元素优先权低Р push(&OPTR, c);Р index++;Р c=expression[index][0];

收藏

分享

举报
下载此文档