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