Дана строка разделенная пропусками. Подсчитать количество слов которые имеют не менее двух символов 'c' - C (СИ)

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

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

Помогите решить

Решение задачи: «Дана строка разделенная пропусками. Подсчитать количество слов которые имеют не менее двух символов 'c'»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define DELIM " \t\n"
  5. #define CHR 'c'
  6.  
  7. int main(void) {
  8.     char buf[BUFSIZ];
  9.    
  10.     while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
  11.         char * pw, * pc;
  12.         int cnt = 0;
  13.        
  14.         for ( pw = strtok(buf, DELIM); pw; pw = strtok(NULL, DELIM) )
  15.             cnt += ( ( ( pc = strchr(pw, CHR) ) != NULL ) && ( strchr(pc + 1, CHR) != NULL ) );
  16.        
  17.         printf("%d word(s) with two or more symbols %c\n", cnt, CHR);
  18.     }
  19.    
  20.     return 0;
  21. }

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

В этом коде осуществляется подсчет количества слов в строке, разделенной пробелами, которые содержат два или более символа 'c'.

  1. Включаются необходимые заголовочные файлы:
    • stdio.h для работы с функциями ввода-вывода
    • string.h для работы со строками
  2. Определяются необходимые константы:
    • DELIM - разделитель (пробел, табуляция, перевод строки)
    • CHR - символ, который должен присутствовать в словах (в данном случае 'c')
  3. Определяется переменная `buf`, которая будет использоваться для хранения строки, введенной пользователем.
  4. Осуществляется цикл, который будет выполняться до тех пор, пока пользователь вводит строку и она не пустая.
  5. Внутри цикла создаются две переменные:
    • pw - текущее слово
    • pc - текущий символ в слове
  6. С помощью функции strtok слово разбивается на отдельные символы и проверяется каждый символ:
    • Если символ равен 'c', то увеличивается счетчик cnt
  7. После обработки всех слов в строке выводится количество слов, содержащих два или более символа 'c'.
  8. В конце программы возвращается 0, что означает успешное выполнение.

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


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

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

9   голосов , оценка 3.889 из 5

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

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

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