Нужно найти количество слов в каждой строке - C (СИ)

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

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

Помогите решить, пожалуйста.Максимальное число символов в строке – 80. Во втором задании максимальное число строк – 6. Истинное число строк определяется пользователем. Нужно найти количество слов в каждой строке.

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define SIZE 80
  4. #define DELIM " ,.\t\n"
  5.  
  6. int main()
  7. {
  8.     char str[SIZE], *word;
  9.     int counter = 0, n, i;
  10.  
  11.     printf("Enter number of lines: ");
  12.     scanf("%d", &n);
  13.     getchar();
  14.     for (i = 0; i < n; i++)
  15.     {
  16.         printf("Enter line: ");
  17.         fgets(str, SIZE, stdin);
  18.         counter = 0;
  19.         for (word = strtok(str, DELIM); word; word = strtok(NULL, DELIM))
  20.             counter++;
  21.         printf("Words: %d\n", counter);
  22.     }
  23.  
  24.     return 0;
  25. }

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

  1. Подключение необходимых библиотек: stdio.h и string.h
  2. Объявление констант: SIZE (80) - размер строки в символах, DELIM (, .\t\n) - разделитель слов в строке
  3. Объявление переменных: char str[SIZE] - строка для ввода, *word - указатель на слово в строке, int counter - счетчик слов, n - количество строк, i - номер текущей строки
  4. Сбор данных: с помощью scanf() пользователь вводит количество строк, затем с помощью fgets() вводит строки
  5. Обработка каждой строки: с помощью цикла for перебираются все строки, внутри которого происходит обработка каждой строки с помощью функции strtok(). Эта функция разбивает строку на слова и сохраняет указатель на каждое слово. Каждое слово увеличивает счетчик words.
  6. Вывод результата: с помощью printf() выводится количество слов в каждой строке.
  7. Конец программы: return 0

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


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

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

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

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

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

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