#include<iostream.h>
int main(int n,char*p[])
{
int i,c,j,k=0,t,s=0,num[10];
char ch[9]; //存放运算符
//
for(i=0,j=0;p[1][i]!='\0';i++)
{
t=j; // j 表示读到的运算符个数
if(p[1][i]=='+'||p[1][i]=='-'||p[1][i]=='*'||p[1][i]=='/')
{
ch[j] = p[1][i];
j++;
}
if(t == j) // 无运算符
{
c = p[1][i] - '0'; //按十进制转换成整数
s = s * 10 + c;
}
if(t!=j) //
{
num[k] = s; //把操作数放入操作数数组
s=0;
k++;
}
}
num[k]=s; // 把最后的操作数放入数组。
//现在有k个运算符,k+1一个操作数。
for(t = 0; t < k; t++)
{
//优先级高的操作数先算,结果放入对应的两个操作数位置
if(ch[t] == '*')
{
num[t ] = num[t] * num[t+1];
num[t+1] = num[t];
}
if(ch[t]=='/')
{
num[t ] = num[t] / num[t+1];
num[t+1] = num[t];
}//遇到‘*’(/),则计算,并且两元素全都变成结果
for(int m = t-1; (ch[m]=='*' || ch[m]=='/') && m>=0; m--)
num[m]=num[m+1];//遇到连着的*和/,则把相关元素全变成结果
}//做完*和/运算
s=num[0];
for(t=0;t<k;t++)
{
if(ch[t]=='+')
s=s+num[t+1];
if(ch[t]=='-')
s=s-num[t+1];
}//做加减运算
cout<<s<<endl;
}