編程序將給定字符串中指定字符刪除。要求刪除指定字符後原字符串不能留下空位置,字符串和指定字符均由鍵盤輸入算法
將字符串與要刪除的字符進行比較,若爲相同字符,則將字符串中的該字符替換爲原字符串中下一個字符,並依次將後面的字符提早,從而達到刪除字符的目的。注意:字符前移一位後,須要判斷移動到當前位置的字符是否須要繼續刪除。編程
# include<stdio.h> # include<string.h> int main() { int i, j, k; char a[1000]; char b[1000]; gets(a);//輸入字符串 gets(b);//輸入指定字符(能夠是多個) for(i=0;a[i]!='\0';i++)//遍歷a數組 { for(j=0;b[j]!='\0';j++)//遍歷b數組 { if(a[i]==b[j])//若是含有指定字符則開始替換後面字符 { for(k=i;a[k]!='\0';k++)//定義新的變量開始循環賦值 a[k]=a[k+i]; i--;//下一輪循環會到新賦值的字符位置,繼續比較 } } } printf("%s",a); }
算法的要點是補全和對補全後位置的再判斷數組