Определить количество предложений в тексте - C (СИ)

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

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

Определить количество предложений, учитывая, что предложение заканчивается точкой, вопросительным или восклицательным знаками. Вот тут начал писать
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define RAZD " .,;:\n\t?!/\\"
 
#define N 300
 
int Check(char *s)
{
  int i,len;
  i=0;
  len = strlen(s);
  if (ВОТ ЗДЕСЬ НУЖНО УСЛОВИЕ))
    return 1;
  else
     return 0;
}
 
int main ()
{
char S[N], *word;
int n,i,j=0;
fgets(S,N,stdin);
n=strlen(S);
for(i=0;i<n;i++)
if (strchr(RAZD,S[i]))
S[i]='\0';
i=0;
while(i<n)
{
while (i<n && S[i]=='\0')
i++;
word=&S[i];
if (Check(word))
{
   puts(word);
   j++;
   }
while (i<n && S[i]!='\0')
i++;
}
printf("%d",j);
getchar();
return 0;
}

Решение задачи: «Определить количество предложений в тексте»

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define N 300
int main ()
{
char S[N];
int j=0;
fgets(S,N,stdin);
char*pch = strtok(S,".!?");
while(pch != NULL)
{
  pch = strtok(NULL,".!?");
  j+=1;
}
 
printf("%d",j-1);
return 0;
}

Объяснение кода листинга программы

  1. В начале программы подключаются необходимые библиотеки: stdio.h, ctype.h и string.h.
  2. Задается константа N, которая определяет максимальный размер входной строки.
  3. В функции main() объявляется переменная S типа char, которая будет использоваться для хранения входной строки.
  4. Переменная j инициализируется значением 0 и будет использоваться для подсчета количества предложений.
  5. С помощью функции fgets() вводится строка из стандартного ввода (клавиатуры).
  6. Функция strtok() используется для разделения входной строки на предложения, используя точки, восклицательные знаки и вопросительные знаки в качестве разделителей.
  7. В цикле while(pch != NULL) происходит следующее:
    • pch = strtok(NULL,.!?); продолжает поиск следующего разделителя.
    • j+=1; увеличивает счетчик j на 1.
  8. После окончания цикла выводится значение j-1 с помощью функции printf().
  9. Программа возвращает 0, что означает успешное завершение.

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


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

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

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