这道题开始不会,苦思无果,然后百度了一下。。。其实栈和队列一个人一个理解,唯一可以了解的办法就是多做题!!
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
using namespace std;
int main()
{
char a[1000],b[1000];
while (cin >> a)
{
b[1000] = { 0 };
int in = 0;
int len = strlen(a);
for (int i = 0; i < len; i++)
{
if (a[i] == '#')
{
if (i == 0)
{
for (int j = 0; j < len - 1; j++)
{
a[j] = a[j + 1];
}
len--;
i = i - 1;
}
else
in = in - 1;
}
else if (a[i] == '@')
{
memset(b, 0, sizeof(b));
in = 0;
}
else
{
b[in++] = a[i];
}
}
if (in != 0)
cout << b <<endl;
memset(a, 0, sizeof(a));
}
return 0;
}