#include<iostream>
#include<cstdio>
using namespace std;
int pos;
char str[500];
double pre_calucate()
{
pos++;
if(str[pos]==' ') pos++;
if(str[pos]>='0'&&str[pos]<='9')
{
int len;
double temp;
sscanf(&str[pos],"%lf%n",&temp,&len);
pos+=len-1;
return temp;
}
if(str[pos]=='+') return pre_calucate()+pre_calucate();
if(str[pos]=='-') return pre_calucate()-pre_calucate();
if(str[pos]=='*') return pre_calucate()*pre_calucate();
if(str[pos]=='/') return pre_calucate()/pre_calucate();
}
int main()
{
while(gets(str))
{ pos=-1;
printf("%.2f\n",pre_calucate());
} return 0;
}http://acm.nyist.net/JudgeOnline/problem.php?pid=128&&前缀式计算
本文介绍了一个简单的基于C++实现的表达式计算器。该计算器能够解析并计算包含加、减、乘、除运算的数学表达式。通过逐字符扫描输入字符串,并使用递归的方式来解析表达式的各个部分。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
ACE-Step
音乐合成
ACE-Step
ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

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



