栈的总结
1.利于从后往前处理数据
2.一定要判断栈为空的情况
例如:若栈为空,这时用 栈.top()==10 判断是否等于另一个数会出错
nefu1631
没啥好说的,不是很难,用栈来解很方便
#include <bits/stdc++.h>
using namespace std;
const int mod=1e4;
int main()
{
char ch;
stack<int>a1;
long long num,num1;
cin>>num;a1.push(num);
while(scanf("%c",&ch)&&ch!='\n')
{
cin>>num1;
if(ch=='+')a1.push(num1%mod);
else
{
num=a1.top();a1.pop();
a1.push((num%mod)*(num1%mod));
}
}
long long int sum=0;
while(!a1.empty())
{
sum+=a1.top()%mod;
a1.pop();
}
cout<<sum%mod<<endl;
return 0;
}
nefu1630
#include <bits/stdc++.h>
using namespace std;
int main()
{
stack<char>s;
char a[300];
scanf("%s",a);//这里不能用gets