千和


私信TA

用户名:wyt23333

访问量:982

签 名:

就算想法幼稚短浅也不能忘记前进

等  级
排  名 10140
经  验 1048
参赛次数 0
文章发表 6
年  龄 0
在职情况 学生
学  校 东华理工大学
专  业

  自我简介:

解题思路:没啥思路,一步步来,我的代码应该还是很简单的

注意事项:注意第一步要插入到a1前面而不是后面,删除操作需要从后往前遍历


参考代码:

#include<bits/stdc++.h>

using namespace std;


string s;

char ch;


void func_D(){      //删除

    char a;

    cin>>a;

    int flag=0;

    for(int i=0;i<s.length();i++){

        if(s[i]==a){

            s.erase(i,1);

            flag = 1;

            break;

        }

    }

    if(flag==0)

        cout<<"no find"<<endl;

    else

        cout<<s<<endl;

}


void func_I(){      //插入

    char a1,a2;

    cin>>a1>>a2;

    int flag = 0;

    for(int i=s.length();i>0;i--){

        if((s[i-1])==a1){

            flag = 1;

            s.insert(i-1,1,a2);

            break;

        }

    }

    if(flag==0)

        cout<<"no find"<<endl;

    else

        cout<<s<<endl;

}

void func_R(){      //替换

    char a1,a2;

    cin>>a1>>a2;

    int flag = 0;

    for(int i=0;i<s.length();i++){

        if(s[i]==a1){

            s[i] = a2;

            flag = 1;

        }

    }

    if(flag)

        cout<<s<<endl;

    else

        cout<<"no find"<<endl;

}


int main(){

    getline(cin,s);

    cin>>ch;

    switch(ch){

        case 'D':

        func_D();

        break;

        case 'I':

        func_I();

        break;

        case 'R':

        func_R();

        break;

    }

    return 0;

}



 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区