fork(1) download
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. #include <locale.h>
  4. #include <string.h>
  5. #define MAX_LENGTH 1000
  6.  
  7. int main()
  8. {
  9. setlocale(LC_ALL, "");
  10. printf("Введите текст из нескольких предложений:\n");
  11. char t[MAX_LENGTH] = {0};
  12. fgets(t, MAX_LENGTH, stdin);
  13. t[strcspn(t, "\n")] = '\0';
  14. printf("Текст без слов на 'а':\n");
  15. int i = 0;
  16. int flag1 = 0; //Флаг: находимся ли мы внутри слова
  17. int flag2 = 0; //Флаг: слово начинается на "а"
  18. int start = 0; //Начало текущего слова
  19. while (t[i] != '\0')
  20. {
  21. if (t[i] != ' ' && t[i] != '\t')
  22. {
  23. if (!flag1)
  24. {
  25. flag1 = 1;
  26. start = i;
  27. flag2 = (tolower(t[i]) == 'a');
  28. }
  29. }
  30. else
  31. {
  32. if (flag1)
  33. {
  34. if (!flag2)
  35. {
  36. for (int j = start; j < i; j++)
  37. {
  38. printf("%c", t[j]);
  39. }
  40. printf(" ");
  41. }
  42. flag1 = 0;
  43. flag2 = 0;
  44. }
  45. }
  46. i++;
  47. }
  48.  
  49. //Вывод последнего слова в строке:
  50. if (flag1 && !flag2)
  51. {
  52. for (int j = start; j < i; j++)
  53. {
  54. printf("%c", t[j]);
  55. }
  56. }
  57.  
  58. printf("\n");
  59.  
  60. return 0;
  61. }
Success #stdin #stdout 0s 5320KB
stdin
Aвлыв aлвта ышывь бсюмб звалв
stdout
Введите текст из нескольких предложений:
Текст без слов на 'а':
ышывь бсюмб звалв