【严禁抄袭】题解
2024-12-22 15:41:52
发布于:江苏
119阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
#define N 1001//定义常量
char st[N+1];//数组模拟栈
int TOP=0;//标记栈顶位置
void push(int x){//入栈模拟
st[++TOP]=x;//零位不放任何元素
}
void pop(){//出栈模拟
--TOP;
}
char top(){//获取栈顶元素
return st[TOP];
}
bool empty(){//判断栈是否为空
return TOP==0;
}
int main(){
string s;
while(getline(cin,s)){
TOP=0;
if(s.size()==0){
break;
}
for(int i=0;i<=s.size();i++){
if(s[i]=='#'){
pop();
}else if(s[i]=='@'){
while(!empty()){
pop();
}
}else{
push(s[i]);
}
}
for(int i=1;i<TOP;i++){
cout<<st[i];
}
cout<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个