文章

6

粉丝

53

获赞

1

访问

1.6k

头像
删除字符串2 题解:思路:先找到所有要删除的地方。然后再在统一拿个空字符串去拼接,其中要避开记录下来的坐标
P1027 贵州大学2019机试
发布于2024年3月3日 19:42
阅读数 187

#include <iostream>
#include<cstring>
using namespace std;

//删除
void del(char s[],int index[],int p){
    string ans = "";
    for (int i = 0; i < strlen(s) ; i++) {
        int f=1;
        for (int j = 0; j <p ; j++) {
            int t = index[j];
            if (i>=t && i<=t+2){
                //不纳入其中
                f=0;
                break;
            }
        }
        if (f==1){
            ans+=s[i];
        }
    }
    cout<<ans;
}
int main(){

    int index[200];
    int p=0;
    char s[200];
    cin>>s;
    for (int i = 0; i < strlen(s)-2; i++) {
        //寻找gzu的位置
        if ((s[i]=='g' ||s[i]=='G') &&(s[i+1] =='z' || s[i+1] =='Z')  && ( s[i+2] =='u' || s[i+2] =='U')){
            index[p++]=i;//记录要删除的坐标
        }
    }
    del(s,index,p);
}
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发