Посчитать количество слов в предложении, которые начинаются и заканчиваются с одной и той же буквой - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задача: необходимо посчитать кол-во слов в предложении, которые начинаются и заканчиваются с одной и той же буквой. В предложение слова разделяются запятыми, а заканчивается точкой (я так понял это признак конца) По ручной прокрутке программа должна работать, но почему то она и не заканчивается при вводе точки, и неправильно определяет кол-во слов, не пойму в чем дело уже час
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define DA 1
  4. #define NET 0
  5. int main()
  6. {
  7. int sim,nach,kon,razdel,result;
  8. razdel=DA;
  9. nach=kon=result=0;
  10. while ((sim=getchar())!='.')
  11. {
  12. if ((sim==' ') || (sim=='\n') || (sim=='\t')) razdel=DA; //Если символ-разделитель
  13. else
  14. {
  15. if (razdel==DA) //Если начало слова
  16. {
  17. nach=sim;
  18. while ((sim!=' ') || (sim!='\n') || (sim!='\t') || (sim!='.')) //пока символ - не разделитель
  19. {
  20. kon=sim;
  21. sim=getchar();
  22. }
  23. if (nach==kon) result++;
  24. }
  25. razdel=NET;
  26. }
  27. }
  28. printf ("\n%d\n",result);
  29. return 0;
  30. }

Решение задачи: «Посчитать количество слов в предложении, которые начинаются и заканчиваются с одной и той же буквой»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6.     const char CDelim[] = " ,.!?\n\t";
  7.     char str[1024] = { 0 };
  8.     char* p;
  9.     size_t count = 0;
  10.  
  11.     fgets(str, sizeof(str) - 1, stdin);
  12.  
  13.     p = strtok(str, CDelim);
  14.  
  15.     while (p != NULL)
  16.     {
  17.         if (p[0] == p[strlen(p) - 1])
  18.         {
  19.             printf("%s\n", p);
  20.             count++;
  21.         }
  22.  
  23.         p = strtok(NULL, CDelim);
  24.     }
  25.  
  26.     printf("total: %u\n", count);
  27.  
  28.     return 0;
  29. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы