ACM-输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

#include <stdio.h>
//#include <string.h>
#define N 100

void removeObjectAtIndex2(char *ptr,int index);
void removeObjectAtIndex2(char *ptr,int index){
    
    ptr+=index;
    
    for (; *ptr!='\0'; ptr++) {
        *ptr=*(ptr+1);
    }
    *ptr='\0';
}

void removecharFormString(char *ptr1,char *ptr2);
void removecharFormString(char *ptr1,char *ptr2){
    while (*ptr2!='\0') {
        for (int i=0; *(ptr1+i)!='\0'; ) {
            if (*ptr2==*(ptr1+i)) {
                //删除,后面移动
                removeObjectAtIndex2(ptr1, i);
            }else{
                i++;
            }
        }
        ptr2++;
    }
}

int main(int argc, const char * argv[]) {
   
    //      输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”    


    char ary1[100]="apple apple";
    char ary2[100]="ae";
    removecharFormString(ary1, ary2);
    puts(ary1);

你可能感兴趣的:(字符串,C语言)