c之PAT刷題---刪除字串中的特定子串

來源:互聯網
上載者:User

標籤:c語言

改了好久還是沒有全過,等明天再看吧!好好休息,明天繼續。

#include<stdio.h>

#include<string.h>
char *delete(char str1[80],char str2[80]){
    int len1,len2,l;//l記錄出現字元相同的起始位置
    len1=strlen(str1);
    len2=strlen(str2);
    for(int i=0;str1[i]!=‘\0‘;i++){
            if(str1[i]==str2[0]){
                l=i;//記下相同字元出現的位置
                int num=0;
                for(int k=0;k<len2;k++){
                    if(str1[l]==str2[k]){
                        num++;
                        l++;
                    }
                }    //判斷是不是完全相同
                //接下來,從i開始,使所有的字元都向前移動三位;
                if(num==len2){//如果符合子串,那麼把後面的字元往前推進,擠掉子串
                    for(int k=i;str1[k]!=‘\0‘;k++)
                            str1[k]=str1[k+num];
                }
            }
        }
        return str1[80];
}
int main(){
    char str1[80];
    char str2[80];
    gets(str1);
    gets(str2);//擷取字串
    int fact=1;
    while(fact){
        for(int j=0;str1[j]!=‘\0‘;j++){
                if(str1[j]==str2[0]){
                    delete(str1,str2);//如果與子串的第一個字元相同,調用刪除函數
                    fact=0;
                }
        }
        if(fact==0)
            puts(str1);
        else{
            for(int j=0;str1[j]!=‘\0‘;j++){
                if(str1[j]==str2[0]){
                    delete(str1,str2);//如果與子串的第一個字元相同,調用刪除函數
                    fact=0;
                }
            }
        }
    }
    puts(str1);//輸出操作後的子串
    return 0;
}

c之PAT刷題---刪除字串中的特定子串

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.