Description
一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数据区。
由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接受一个字符即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲区,用以接受用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现刚刚键入的一个字符是错的时,可补进一个退格符"#",以表示前一个字符无效;
如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符"@",以表示当前行中的字符均无效。
如果已经在行首继续输入’#'符号无效。
Input
输入多行字符序列,行字符总数(包含退格符和退行符)不大于250。

Output
按照上述说明得到的输出。

Sample
Input
whli##ilr#e(s#*s)
outcha@putchar(*s=#++);
Output
while(*s)
putchar(*s++);

/*
#include<bits/stdc++.h>using namespace std;#define intsize 10000
#define addsize 1000typedef char element;typedef struct
{element *top;element *base;int stacksize;
} Sqstack;int initstack(Sqstack &s)
{s.base = (element *)malloc(intsize * sizeof(element));if(!s.base)return -1;s.top = s.base;s.stacksize = intsize;return 1;
}int push(Sqstack &s, element e)
{if(s.top - s.base >= s.stacksize){s.base = (element *)realloc(s.base, (s.stacksize + addsize) * sizeof(element));if(!s.base)return -1;s.top = s.base + addsize;s.stacksize += addsize;}*s.top++ = e;return 0;
}
int pop(Sqstack &s)
{if(s.top == s.base)return -1;return *--s.top;
}
int emptystack(Sqstack &s)
{if(s.base == s.top)return 0;elsereturn 1;
}
int top(Sqstack &s)
{return *(s.top--);
}
void clearstack(Sqstack &s)
{s.base = s.top;
}
void show(Sqstack &s)
{while(s.top != s.base){printf("%c", *s.base);s.base++;}
}
int main()
{char a[251];int len, i;while(~scanf("%s", a)){Sqstack s;initstack(s);len = strlen(a);for(i = 0; i < len; i++){if(a[i] != '#' &&a[i] != '@')push(s, a[i]);else if(a[i] == '#'){if(emptystack(s) == 1)pop(s);}else if(a[i] == '@'){clearstack(s);}}show(s);printf("\n");}
}*/
#include<bits/stdc++.h>using namespace std;int main()
{int t, i, n;char a[255], b[255];while(gets(a)){t = 0;n = strlen(a);for(i = 0; i < n; i++){if(a[i] == '#'){if(t != 0){t--;}}else if(a[i] == '@'){t = 0;}elseb[t++] = a[i];}for(i = 0; i <= t - 1; i++){if(i == t - 1)printf("%c\n", b[i]);else printf("%c", b[i]);}}return 0;
}

数据结构实验之栈与队列九:行编辑器相关推荐

  1. sdut 1479 数据结构实验之栈与队列九:行编辑器

    数据结构实验之栈与队列九:行编辑器 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

  2. SDUT-2449_数据结构实验之栈与队列十:走迷宫

    数据结构实验之栈与队列十:走迷宫 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个由n * m 个格子组成的迷宫,起 ...

  3. sdut 3335 数据结构实验之栈与队列八:栈的基本操作

    数据结构实验之栈与队列八:栈的基本操作 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descri ...

  4. sdut 3333 数据结构实验之栈与队列六:下一较大值(二)

    数据结构实验之栈与队列六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KB Submit Statistic Discuss Problem Descri ...

  5. sdut-3332 数据结构实验之栈与队列五:下一较大值(一)

    数据结构实验之栈与队列五:下一较大值(一) Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Desc ...

  6. 2131数据结构实验之栈与队列一:进制转换

    数据结构实验之栈与队列一:进制转换 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 输入一个十进制非负整数,将其转换成对 ...

  7. sdut 2088 数据结构实验之栈与队列十一:refresh的停车场

    数据结构实验之栈与队列十一:refresh的停车场 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...

  8. sdut 2134 数据结构实验之栈与队列四:括号匹配

    数据结构实验之栈与队列四:括号匹配 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

  9. SDUT-2132_数据结构实验之栈与队列二:一般算术表达式转换成后缀式

    数据结构实验之栈与队列二:一般算术表达式转换成后缀式 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于一个基于二元运 ...

最新文章

  1. 安装nexus时遇到的一个问题
  2. 网络知识:详解各种路由器组网方法!
  3. python asyncio 异步编程---协程
  4. Linux时间date与timedatectl
  5. leetcode - 1201. 丑数 III
  6. 敏捷开发方法XP的12个最佳实践
  7. postman使用之二:数据同步和创建测试集
  8. 信号量有没有容量限制?
  9. 【转帖】MATLAB中用FDATool设计滤波器及使用
  10. win32api之添加水印
  11. 谈USB重定向的方式
  12. 关于极限精简版系统(RAMOS专用)的说明(FAQ)
  13. 关于unity导出FBX文件
  14. 二进制颜色代码大全(含图)
  15. 【JZOJ5773】简单数学题【数论,数学】
  16. 【大二下复习】新视野大学英语(第三版)第四册读写教程答案 + 期末复习翻译的部分题目
  17. MTK交换机PHY 方案Airoha达发(econet)概要
  18. 清华计算机徐华简介,徐华
  19. 微信公众平台开发——新增素材
  20. 程序媛的婆媳相处之道

热门文章

  1. 二进制异或--7.18待完善
  2. 【LeetCode从零单排】No.135Candy(双向动态规划)
  3. 剖析Elasticsearch集群系列第二篇 分布式的三个C、translog和Lucene段
  4. ibatis annotations 注解方式返回刚插入的自增长主键ID的值--转
  5. spring源码分析之spring-core-io
  6. zookeeper源码分析之四服务端(单机)处理请求流程
  7. graylog2+syslog-ng+mongodb构建集中管理日志服务器 --转载
  8. 2. Nest:Controller
  9. 被5月GitHub Top20榜单惊呆了 原来区块链大佬都在做这个
  10. Regtech半月观察(9月上)