2.4.c 971 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void squeeze(char[],char[]);
  4. #define MAGIC_BIG 1024
  5. int main ()
  6. {
  7. char goners[MAGIC_BIG];
  8. char s[MAGIC_BIG];
  9. for (int i=0; i<MAGIC_BIG; i++)
  10. s[i]=goners[i]=0;
  11. printf("string : ?>");
  12. char in='1';
  13. int i =0;
  14. while ((in!=EOF) && (in != '\n'))
  15. {
  16. in=s[i]=getchar();
  17. i++;
  18. if (i>MAGIC_BIG)
  19. {
  20. printf("\n string too big \n");
  21. return -1;
  22. }
  23. }
  24. printf("remove : ?>");
  25. i=0;
  26. in = '1';
  27. while ((in!=EOF) && (in != '\n'))
  28. {
  29. in=goners[i]=getchar();
  30. i++;
  31. if (i>MAGIC_BIG)
  32. {
  33. printf("\n delim string too big \n");
  34. return -1;
  35. }
  36. }
  37. squeeze(s,goners);
  38. for (i =0; s[i] != '\0';i++)
  39. printf("%c",s[i]);
  40. return (0);
  41. }
  42. /** goners MUST BE a null terminated string*/
  43. void squeeze(char s[], char goners[])
  44. {
  45. for (int i = 0; goners[i] != '\0'; i++)
  46. {
  47. int j=0,k=0;
  48. for (; s[j]!='\0'; j++)
  49. if (s[j] != goners[i])
  50. s[k++] = s[j];
  51. s[k] = '\0';
  52. }
  53. }