求用以下类似程序编一个可以计算括号的计算器#include #define smax 10#define emax 255int power(int x,int y){int t,s=1;for (t=0; t=48 && ex[i]=rinput && rtop!=0){//计算//数字出战top=top-1;x=s[top];top=top-1;y=s[top];s[top]=calc
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 12:30:08
求用以下类似程序编一个可以计算括号的计算器#include #define smax 10#define emax 255int power(int x,int y){int t,s=1;for (t=0; t=48 && ex[i]=rinput && rtop!=0){//计算//数字出战top=top-1;x=s[top];top=top-1;y=s[top];s[top]=calc
求用以下类似程序编一个可以计算括号的计算器
#include
#define smax 10
#define emax 255
int power(int x,int y)
{
int t,s=1;
for (t=0; t=48 && ex[i]=rinput && rtop!=0)
{
//计算
//数字出战
top=top-1;
x=s[top];
top=top-1;
y=s[top];
s[top]=calc(o,x,y);
top=top+1;
//读出下一个栈顶符号
otop=otop-1;
o=op[otop];
if (o=='+')
rtop=0;
else
if (o=='-') rtop=1;
}
//原先的放回
op[otop]=o;
otop=otop+1;
//新的符号入栈
op[otop]=ex[i];
otop=otop+1;
}
}
i=i+1;
}
while (otop!=0)
{
//数字出战
top=top-1;
x=s[top];
top=top-1;
y=s[top];
//符号出栈
otop=otop-1;
o=op[otop];
s[top]=calc(o,x,y);
top=top+1;
}
ans= s[0];
//输出结果
printf("%s=%d\n",ex,ans);
}
求用以下类似程序编一个可以计算括号的计算器#include #define smax 10#define emax 255int power(int x,int y){int t,s=1;for (t=0; t=48 && ex[i]=rinput && rtop!=0){//计算//数字出战top=top-1;x=s[top];top=top-1;y=s[top];s[top]=calc
将()当成op处理即可