加油加油~
//行编辑程序
#include <stdio.h>
#include <stdlib.h>
# define MAX 1000
typedef struct {
char data[MAX];
int top;
}stack;
void Init(stack &s){
s.top =-1;
}
void Push(stack &s,char e){
if(s.top ==MAX-1)
printf("已满");
else
s.data[++s.top]=e;
}
void Pop(stack &s){
if(s.top ==-1)
printf("没有其他元素了");
else
s.top--;
}
void Print(stack &s){
while(s.top !=-1)
printf("%c",s.data[s.top--]);
}
void Change(stack &a,stack &b){
while(a.top!=-1){
b.data[++b.top]=a.data[a.top--];
}
}//从一个堆栈转移到另一个堆栈中
void Modify(stack &s){
stack temp;//临时创建的棧
Init(temp);
char c;
printf("开始你的输入:");
c=getchar();
while(c!=EOF){
while(c!=EOF&&c!='\n'){
if(c=='#') Pop(s);
else if(c=='@'){
do{
Pop(s);
}while(s.top!=-1);
}
else Push(s,c);
c=getchar();
}
Change(s,temp);
Print(temp);
c=getchar();
}
}
int main(){
stack s;
Init(s);
Modify(s);
return 0;
}