题目链接 : https://vjudge.net/problem/Aizu-ALDS1_3_A
注 :刚学STL就用STL写了,STL还是很方便的
1 #include2 #include 3 4 using namespace std; 5 6 int main() 7 { 8 stack S; 9 int a, b, x;10 string s;11 12 while( cin >> s) //emmmm...需要ctrl + Z作为结束标记 13 {14 if( s[0] == '+'){ //栈内存储数字,符号运算直接读取 15 a = S.top() ; S.pop() ;16 b = S.top() ; S.pop() ;17 S.push(a + b); 18 }else if( s[0] == '-' ){19 b = S.top() ; S.pop() ;20 a = S.top() ; S.pop() ;21 S.push(a - b); 22 }else if( s[0] == '*'){23 a = S.top() ; S.pop() ;24 b = S.top() ;S.pop() ;25 S.push(a * b); 26 }else{ //如果读入非字符,就压入栈中 27 S.push(atoi(s.c_str())); //atoi()将字符型数据转化为数字,c_str()将string类型转化为char 28 }29 }30 31 cout << S.top() <