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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#define SIZE 80
#define DELIM " ,.\t\n"
 
int main()
{
    char str[SIZE], *word;
    int counter = 0, n, i;
 
    printf("Enter number of lines: ");
    scanf("%d", &n);
    getchar();
    for (i = 0; i < n; i++)
    {
        printf("Enter line: ");
        fgets(str, SIZE, stdin);
        counter = 0;
        for (word = strtok(str, DELIM); word; word = strtok(NULL, DELIM))
            counter++;
        printf("Words: %d\n", counter);
    }
 
    return 0;
}

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

  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
Похожие ответы