文章
14
粉丝
230
获赞
26
访问
71.2k
思路:
带注释代码
#include<bits/stdc++.h>
using namespace std;
map<char,int> m=
{
{'+',2},{'-',2},{'*',1},{'/',1},
};
//找到以数字开头的字符串str中的第一个完整的数字
//如12+36 找到12
//num是找到的数字 12
//返回:数字的长度 12即长度为2
int getNumber(string str,int& num)
{
int len = str.size();
int i;
for(i=0; i<len; i++)
{
char c= str[i];
if(c<'0'||c>'9')
break;
}
num=stoi(str.substr(0,i));
return i;
}
//计算
int cal(int a,int b,char c)
{
switch(c)
{
case '+':
return a+b;
case '-':
return a-b;
case '*':
return a*b;
case '/':
return a/b;
}
}
int main()
{
string str;
stack<char> s;//符号栈
stack<int> n; //操作数栈
while(cin>>str)
{
int len =str.si...
登录后发布评论
暂无评论,来抢沙发