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

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

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

Задача: необходимо посчитать кол-во слов в предложении, которые начинаются и заканчиваются с одной и той же буквой. В предложение слова разделяются запятыми, а заканчивается точкой (я так понял это признак конца) По ручной прокрутке программа должна работать, но почему то она и не заканчивается при вводе точки, и неправильно определяет кол-во слов, не пойму в чем дело уже час
#include <stdio.h>
#include <stdlib.h>
#define DA 1
#define NET 0
 
int main()
{
    int sim,nach,kon,razdel,result;
    razdel=DA;
    nach=kon=result=0;
    while ((sim=getchar())!='.')
    {
        if ((sim==' ') || (sim=='\n') || (sim=='\t'))    razdel=DA;    //Если символ-разделитель
        else                     
        {
            if (razdel==DA)                                      //Если начало слова
            {
                nach=sim;
                while ((sim!=' ') || (sim!='\n') || (sim!='\t') || (sim!='.'))    //пока символ - не разделитель
                {
                    kon=sim;
                    sim=getchar();
                }
                if (nach==kon) result++;
            }
            razdel=NET;
        }
    }
    printf ("\n%d\n",result);
    return 0;
}

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main()
{
    const char CDelim[] = " ,.!?\n\t";
    char str[1024] = { 0 };
    char* p;
    size_t count = 0;
 
    fgets(str, sizeof(str) - 1, stdin);
 
    p = strtok(str, CDelim);
 
    while (p != NULL)
    {
        if (p[0] == p[strlen(p) - 1])
        {
            printf("%s\n", p);
            count++;
        }
 
        p = strtok(NULL, CDelim);
    }
 
    printf("total: %u\n", count);
 
    return 0;
}

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


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

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

5   голосов , оценка 4.4 из 5
Похожие ответы