試題 演算法提高 刪除子字串 C語言

2020-08-11 21:00:10

試題 演算法提高 刪除子字串

資源限制
時間限制:1.0s 記憶體限制:256.0MB
問題描述
  編寫程式,輸入兩個字串,從第一個字串中刪除第二個字串,輸出刪除後的字串。例如輸入」abcabcd」和」bc」,則輸出」aad」。用指針實現。
輸入格式
  輸入兩個字串ch1和ch2
輸出格式
  輸出刪除ch2後的字串ch1
樣例輸入
一個滿足題目要求的輸入範例。
例:
abcabcd

bc
樣例輸出
與上面的樣例輸入對應的輸出。
例:
aad
數據規模和約定
  輸入數據中每一個數的範圍。
  輸入的字串長度小於100

#include<stdio.h>
#include<string.h>
char a[100];
char b[100];
char c[100];
int main()
{
    int i,k,j;
    gets(a);
    gets(b);
    for(i=0;i<strlen(a);i++){
    	if(a[i]==b[0]){
    		for(j=0,k=i;j<strlen(b);j++,k++){
    			c[j]=a[k];
			} 
			c[j]='\0';
			if(strcmp(c,b)==0){
				for(j=0,k=i;j<strlen(b);j++,k++){
	    			a[k]=' ';
				} 
			}
			memset(c,' ',sizeof(c));
		}
	}
	for(i=0;i<strlen(a);i++){
		if(a[i]==' '){
			continue;
		}
		printf("%c",a[i]);
	}
   return 0;
}