OpenJudge

3111:行编辑程序

总时间限制:
1000ms
内存限制:
131072kB
描述

       由于用户在终端上进行输入时,不能保证不出差错,因此若在编辑程序中,“每接收一个字符即存入用户数据区的做法”显然不是最恰当的。较好的做法是:设立一个输入缓冲区,用以接收用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。

       例如,当用户发现刚刚键入的一个字符是错的时候,可以补进一个退格符“#”,以表示前一个字符无效;如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符“@”,以表示当前行中字符均无效。

       假设从终端接收了这样两行字符:

       Whil#lr#e(s#*s)

       outcha@putchar(*s=#++);

       则实际有效的是以下两行:

       While(*s)

       putchar(*s++);

        请你写一个程序判断输入缓冲区中接收到的字符哪些是有效的。


输入
输入缓冲区中接收到的字符。
输出
最终的有效字符。
样例输入
Whil#lr#e(s#*s)
样例输出
While(*s)
来源
BD
全局题号
15566
添加于
2017-07-13
提交次数
39
尝试人数
16
通过人数
13