文章

16

粉丝

44

获赞

2

访问

4.5k

头像
删除字符串2 题解:通用
P1027 贵州大学2019机试
发布于2024年3月9日 22:29
阅读数 609

#include <bits/stdc++.h>
using namespace std;
char f[105]={0};//标记主串的位置
int main(){
    string  s,t,s_lower;
    getline(cin,s);
    t="gzu";
    //大写转小写
    for(int i=0;i<s.length();i++){
        if(s[i]>='A'&&s[i]<='Z')
            s_lower[i]=s[i]+32;
        else s_lower[i]=s[i];
    }
    //找主串中出现的子串
    for(int i=0;i<s.length();i++){
        int flag=0;
        for(int j=0;j<t.length();j++){
            if(s_lower[i+j]!=t[j]) flag=1;
        }
        if(flag==0){//标记子串在主串中出现的位置,标记为1表示出现过
            for(int j=i;j<i+t.length();j++)
                f[j]=1;
        }
    }
    for(int i=0;i<s.length();i++){
        //输出主串中标记为0的元素,表示子串在主串未出现的位置
        if(f[i]==0)
            cout<<s[i];
    }
    cout<<endl;
    return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发