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; }