洛谷:P1981
OJ:P4939
代码实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | /**************************************************************** * Description: NOIP2013 CSP-J-2 表达式求值 * Author: Alex Li * Date: 2023-09-30 14:55:11 * LastEditTime: 2024-10-09 22:52:36 ****************************************************************/ #include <iostream> #include <stack> using namespace std; stack <int> x;//一个存数字并在最后把它们相加的栈 int main(){ int a,b; char c; cin>>a;//先输入一个数,以后符号+数字输入 int m=10000; a=a%m;//必须的操作 x.push(a);//压入栈中 while(cin>>c>>b){ //ctrl+z或ctrl+d if(c=='*'){//将*之前的数字与*之后的数字积存入 a=x.top(); x.pop(); x.push(a*b%m); } else//将b存入 x.push(b); } a=0; while(x.size()) { a+=x.top(); x.pop(); } a%=m;//取模 cout<<a<<endl; return 0; } |