记录编号 |
30237 |
评测结果 |
AAAAAAAAAA |
题目名称 |
字符串编辑 |
最终得分 |
100 |
用户昵称 |
Makazeu |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2011-10-28 13:19:48 |
内存使用 |
0.27 MiB |
显示代码纯文本
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <cstdlib>
- using namespace std;
- char str[500];
- unsigned int len;
-
- bool Delete(char s)
- {
- int loc;
- bool flag=false;
- for (unsigned int i=0;i<len;i++)
- {
- if(str[i]==s)
- {
- loc=i;
- flag=true;
- break;
- }
- }
-
- if(!flag)
- return false;
-
- for (unsigned int i=loc;i<len;i++)
- {
- str[i]=str[i+1];
- }
- len--;
- return true;
- }
-
- bool Insert(char c,char s)
- {
- int loc;
- bool flag=false;
- for (int i=len-1;i>=0;i--)
- {
- if(str[i]==c)
- {
- loc=i;
- flag=true;
- break;
- }
- }
-
- if(!flag)
- return false;
-
- for (int i=len;i>loc;i--)
- str[i]=str[i-1];
- str[loc]=s;
- len++;
- return true;
- }
-
- bool Replace(char c,char s)
- {
- bool flag=false;
- for (unsigned int i=0;i<len;i++)
- {
- if(str[i]==c)
- {
- str[i]=s;
- flag=true;
- }
- }
- if(!flag)
- return false;
- return true;
- }
-
- int main()
- {
- freopen("edit.in","r",stdin);
- freopen("edit.out","w",stdout);
- memset(str,'\0',sizeof(str));
- scanf("%[^\n]",&str);
- len=strlen(str);
-
- char a;
- char b;
- char c;
- bool flag;
- cin>>a;
- if(a=='D')
- {
- cin>>b;
-
- flag=Delete(b);
- //if(flag)
- //{
- for (unsigned int i=0;i<len;i++)
- cout<<str[i];
- //}
- //else
- //cout<<"error"<<endl;
- return 0;
- }
-
- if(a=='I')
- {
- cin>>b>>c;
- flag=Insert(b,c);
- //if(flag)
- //{
- for (unsigned int i=0;i<len;i++)
- cout<<str[i];
- //}
- //else
- // cout<<"error"<<endl;
- return 0;
- }
-
- if(a=='R')
- {
- cin>>b>>c;
- flag=Replace(b,c);
- if(flag)
- {
- for (unsigned int i=0;i<len;i++)
- cout<<str[i];
- }
- else
- cout<<"error"<<endl;
- return 0;
- }
- return 0;
- }