题解 P1449 【后缀表达式】
ShineEternal
2018-07-01 15:36:07
#include<cstdio>
#include<cstring>
using namespace std;
char s[1001];
int a[1001];
int main()
{
scanf("%s",s);
int sum=0;
int i=0;
while(1)
{
if(i==strlen(s))
{
break;
}
if(s[i]>='0'&&s[i]<='9')
{
sum++;
while(s[i]>='0'&&s[i]<='9')
{
a[sum]=a[sum]*10+s[i]-'0';
i++;
}
}
if(s[i]=='+')
{
a[sum-1]=a[sum-1]+a[sum];
a[sum]=0;
sum--;
}
if(s[i]=='-')
{
a[sum-1]=a[sum-1]-a[sum];
a[sum]=0;
sum--;
}
if(s[i]=='*')
{
a[sum-1]=a[sum-1]*a[sum];
a[sum]=0;
sum--;
}
if(s[i]=='/')
{
a[sum-1]=a[sum-1]/a[sum];
a[sum]=0;
sum--;
}
i++;
}
printf("%d",a[sum]);
return 0;
}