行编辑程序

加油加油~



//行编辑程序 

#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;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱码仕1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值