С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов, имеющих нечетную длину - C (СИ)

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

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

З клавіатури вводиться текстовий рядок. Скласти програму, яка підраховує кількість слів, які мають непарну довжину, виводить на екран частоту входження кожної літери: видаляє текст, що розміщено в круглих дужках.
С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов, имеющих нечетную длину, выводит на экран частоту вхождения каждой буквы: удаляет текст, который размещен в круглых скобках.

Решение задачи: «С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов, имеющих нечетную длину»

textual
Листинг программы
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. #define DELIM " \t\n"
  6.  
  7. int main(void) {
  8.     char buf[BUFSIZ];
  9.  
  10.     while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
  11.         size_t cnt;
  12.         char * ptr;
  13.  
  14.         for ( cnt = 0, ptr = strtok(buf, DELIM); ptr; ptr = strtok(NULL, DELIM) )
  15.             if ( strlen(ptr) & 1)
  16.                 ++cnt;
  17.  
  18.         printf("%lu kilkist sliv z neparnoy dovginoy\n", cnt);
  19.     }
  20.  
  21.     return 0;
  22. }

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

  1. Подключение необходимых библиотек
  2. Определение разделителя (DELIM)
  3. Ввод строки с клавиатуры
  4. Прохождение по каждому слову в строке
  5. Проверка длины слова на нечетность
  6. Увеличение счетчика при нечетной длине слова
  7. Вывод количества слов с нечетной длиной
  8. Цикл до тех пор, пока строка не будет введена

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


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

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

11   голосов , оценка 3.727 из 5

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

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

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