編寫一個實現字符串替換的程序,


 

1: 題目

健寫一個實現字符串替換的程序,該程序必須似含函數 replace(char*s,char*t,char“u),該函數實現將字符串s中所有出現的子串t替換為串u,並

輸出替換后的串及替換的子串個數。若s中不包含子串t,則輸出提示信息:沒有滿足條件的子串t。例如:replace("java programming","java","c");將輸出

e programming,1":replace("java programming","python","c");將輸出“沒有滿足條件的子串python"。main函數主要實現從鍵盤輸入s、t、u這三個字符串,

並實現對replace函數的調用。

實現:

#include <stdio.h>
#include <string.h>
 
int k=0;
char *strrpc(char *str,char *oldstr,char *newstr){
    char bstr[strlen(str)];
    memset(bstr,0,sizeof(bstr));
 
    for(int i = 0;i < strlen(str);i++){
        if(!strncmp(str+i,oldstr,strlen(oldstr))){
            strcat(bstr,newstr);
            i += strlen(oldstr) - 1;
            k++;
        }else{
            strncat(bstr,str + i,1);
        }
    }
 
    strcpy(str,bstr);
    return str;
}

int main(void)
{
    char s[100];
    char t[100];
    char u[100];
    char copy[100];
    scanf("%s%s%s",s,t,u);
    strcpy(s, copy);
    //strrpc(str,"java","c");
    strrpc(s,t,u);
    if(strcmp(s,copy)==0){
        printf("沒有滿足條件的%s",t);
    }else{
        printf("%s %d",s,k);
    }
    return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM