#include<iostream>
#include<string>
using namespace std;
char a[100];
int i;
int eval()
{
int x=0;
while(a[i] == ' ') i++;
if(a[i] == '+')
{
i++;
return eval()+eval();
}
if(a[i] == '*')
{
i++;
return eval()*eval();
}
while((a[i] >= '0')&&(a[i]<= '9'))
x = 10*x +a[i++]-'0';
return x;
}
int main()
{
gets(a);
cout<< eval()<<endl;
return 0;
}
#include<string>
using namespace std;
char a[100];
int i;
int eval()
{
int x=0;
while(a[i] == ' ') i++;
if(a[i] == '+')
{
i++;
return eval()+eval();
}
if(a[i] == '*')
{
i++;
return eval()*eval();
}
while((a[i] >= '0')&&(a[i]<= '9'))
x = 10*x +a[i++]-'0';
return x;
}
int main()
{
gets(a);
cout<< eval()<<endl;
return 0;
}
本文介绍了一个简单的C++程序,该程序能够解析并计算包含加法和乘法运算的数学表达式。通过递归地解析字符串中的操作数和操作符,此程序实现了基本的表达式求值功能。
686

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



