The second Day
1.后缀表达式
题目描述:输入一串后缀表达式,每个数字和字母之间用一个空格隔开,输出后缀表达式的值。
题解:(我就不负责任地上代码了...)
#include<cstdio>
#include<iostream>
#include<string.h>
using namespace std;
int t=0;
int main()
{
string s;
int a[51],l,r,top;
top=0;
getline(cin,s);
//cout<<s<<endl;
for (int i=0;i<s.length();i++)
{
if (s[i] == ' ') t=0;
if (s[i] == '+' || s[i]=='-' || s[i]=='*' || s[i]=='/')
{
if (s[i]=='+') a[top-1]=a[top]+a[top-1];
if (s[i]=='-' ) a[top-1]=a[top-1]-a[top];
if (s[i]=='*' ) a[top-1]=a[top]*a[top-1];
if (s[i]=='/') a[top-1]=a[top-1]/a[top];
top--;
}
else
{
if (s[i]>='0' && s[i]<='9')
{
int m;
m=s[i]-'0';
if (t==0) {t=1;top++;a[top]=m;}
else a[top]=m+a[top]*10;
}
}
}
//for (int k=0;k<=10;k++) cout<<a[k];
cout<<a[top]<<endl;
return 0;
}