从数组s1中删除s2

  • Post author:
  • Post category:其他
#include<stdio.h>

#define 菜鸡

#ifdef 菜鸡

void squeeze(char s1[], char s2[]) {

int i, j, k;

for (i = 0; s1[i] != 0; i++) {

for (j = 0; s2[j] != 0; j++) {

if (s1[i] == s2[j]) { for (k = i; s1[k + 1] != 0; k++) s1[k] = s1[k + 1]; s1[k] = 0; }

}

}

for (i = 0; s2[i] != 0; i++) if (s1[k] == s2[i]) { s1[k] = 0; break; }

printf(“%s\n”, s1);

}

#endif

#ifndef 菜鸡

void squeeze(char s1[], char s2[]) {//this section is copied from <The C programming language> and I think it’s beautiful.

int i, j, k;

for (i = k = 0; s1[i] != ‘\0’; i++) {

for (j = 0; s2[j] != ‘\0’&&s2[j] != s1[i]; j++)

;

if (s2[j] == ‘\0’)

s1[k++] = s1[i];

}

s1[k] = ‘\0’;

printf(“%s”, s1);

}

#endif

int main() {

char x[7], y[7];

while (1) {

scanf(“%s%s”, x, y);

squeeze(x, y);

}

return 0;

}

版权声明:本文为jianqiong6677原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。