Определить длину самой длинной подстроки из подряд стоящих букв «и» - C (СИ)

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

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

Введена строка символов. Определить длину самой длинной подстроки из подряд стоящих букв «и».

Решение задачи: «Определить длину самой длинной подстроки из подряд стоящих букв «и»»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN 100
 
int main(void)
{
    char *s;
    int k = 0, maxLen = 0, i;
    s = malloc((LEN + 1) * sizeof(char));
    fgets(s, LEN, stdin);
    for (i = 0; i < strlen(s); i++)
    {
        if (s[i] == 'и') k++;
        else
        {
            if (k > maxLen)
                maxLen = k;
            k = 0;
        }
    }
    printf("%d", maxLen);
    free(s);
    return 0;
}

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

В этом коде:

  1. Подключаются необходимые библиотеки
  2. Задаётся длина строки s равная 100 символам
  3. В функции main() создаётся указатель на строку s и инициализируется нулевым значением
  4. С помощью функции fgets() считывается строка из стандартного ввода
  5. В цикле перебираются все символы строки s
  6. Если текущий символ равен 'и', то увеличивается счётчик k
  7. Если текущий символ не равен 'и', то проверяется значение счётчика k
  8. Если k больше значения maxLen, то обновляется maxLen
  9. Значение счётчика k сбрасывается в 0
  10. После цикла выводится значение maxLen
  11. Выделяется память, занятая строкой s, с помощью функции free()
  12. Функция main() возвращает 0, что означает успешный конец работы программы

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


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

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

8   голосов , оценка 4 из 5
Похожие ответы