小兰把打印机的密码又忘了,于是哭着脸去找杨老师,杨老师为了让她长记性,决定考考她。
首先给出一个字符串,通过杨老师的提示,A操作和B操作,把它变回正确的密码,数据保证最后密码长度大于0。
A d 3 表示把字符d插入第3个位置(若大于字符串长度了就放在末尾)
B e 表示把字符e删去
她发现这个问题过于复杂,于是请来了大牛的你来帮忙,请你告诉她正确密码是什么吧。
Description
第一行: 一个字符串,字符串长度小于100
后面每行是A,B操作,最后以END结束输入
Input
输出正确的密码
Output
1
2
3
4
5
|
zxt##88
A 8 8
B #
END
|
Sample Input
1
2
|
zxt888
|
Sample Output
#include <stdio.h>
#include <string.h>
#include<iostream>
#include<stack>
using namespace std;
int main()
{
char str[105];
cin >> str;
char b[10];
while (cin >> b)
{
if (b[0] == 'A')
{
char st1;
int k;
int len = strlen(str);
cin >> st1 >> k;
if (k > len)//判断第K个位置是否在len之内
{
str[len] = st1;
str[len + 1] = '\0';
}
else
{
int cnt = 0;
int i;
for (i =len ; i >= k; i--)
{
str[i] = str[i - 1];
}
str[k - 1] = st1;
str[len + 1] = '\0';
}
}
else if (b[0] == 'B')
{
int len = strlen(str);
char st1;
cin >> st1;
int flag = 0;
for (int k = 0; k < len; k++)
{
for (int i = 0; i < len; i++)
{
if (str[i] == st1)
{
flag = 1;
for (; i < len; i++)
{
str[i] = str[i + 1];
}
break;
}
}
if (flag == 0)
{
break;
}
}
}
else
{
break;
}
}
cout << str << endl;
return 0;
}