Определить длину самой длинной подстроки из подряд стоящих букв «и» - 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; }
Объяснение кода листинга программы
В этом коде:
- Подключаются необходимые библиотеки
- Задаётся длина строки s равная 100 символам
- В функции main() создаётся указатель на строку s и инициализируется нулевым значением
- С помощью функции fgets() считывается строка из стандартного ввода
- В цикле перебираются все символы строки s
- Если текущий символ равен 'и', то увеличивается счётчик k
- Если текущий символ не равен 'и', то проверяется значение счётчика k
- Если k больше значения maxLen, то обновляется maxLen
- Значение счётчика k сбрасывается в 0
- После цикла выводится значение maxLen
- Выделяется память, занятая строкой s, с помощью функции free()
- Функция main() возвращает 0, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д