Подсчитать наибольшее количество идущих подряд пробелов - C (СИ)
Формулировка задачи:
Здраствуйте, помогите написать код к такой задаче:
Дана строка символов S.
а) Подсчитать наибольшее количество идущих подряд пробелов.
б) Выяснить, верно ли, что в строке S имеются пять идущих подряд букв е.
Решение задачи: «Подсчитать наибольшее количество идущих подряд пробелов»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> #define n 25 int main() { int i; int countSpace = 0; int countTemp = 0; char ar[n]; //массив символов //скопируем тестовую строку, максимум пробелов подряд = 3 strncpy(ar, "some string", n); printf("String is: %s\n", ar); for (i = 0; i < n; i++) { //если попался хоть один пробел if (ar[i] == ' ') { countTemp = 1; //пока ещё есть рядом пробелы увеличиваем счётчик while (ar[i] && ar[++i] == ' ') { countTemp++; } //заносим в countSpace новое число пробелов только //если оно больше того что было до этого countSpace = (countTemp < countSpace) ? countSpace : countTemp; } } printf("countSpace = %d\n", countSpace); system("pause"); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Установка константы n равной 25
- Объявление переменных: i, countSpace, countTemp, ar
- Копирование тестовой строки в массив ar
- Вывод тестовой строки на экран
- Инициализация счётчика пробелов countSpace равным 0
- Инициализация счётчика пробелов countTemp равным 0
- Цикл по всем элементам массива ar
- Проверка каждого элемента массива на равенство пробелу ' '
- Если элемент равен пробелу, то увеличиваем счётчик countTemp на 1
- Пока следующий элемент массива также равен пробелу, увеличиваем счётчик countTemp на 1
- Если countTemp меньше текущего значения countSpace или countSpace равно 0, то обновляем countSpace значением countTemp
- Вывод значения countSpace на экран
- Вызов функции system(
pause
) для приостановки программы до нажатия клавиши - Конец программы с возвращаемым значением 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д