Учебная версия на русском. Код и его вывод сохранены в исходном виде.
Практические задачи по C
Переходите от циклов и массивов к рекурсии и спискам, проверяя каждое решение.

Начните с небольших задач: суммы цифр, подсчёта элементов и обхода строки. До написания кода определите формат ввода и вывода и разберите один пример вручную.
Затем изучайте массивы, матрицы и поиск. Отделяйте сложность алгоритма от стоимости чтения данных. Двоичный поиск требует упорядоченного массива, а преобразования матриц — правильных размеров.
Для указателей попробуйте развернуть список и освободить все узлы. Для рекурсии реализуйте Евклида и объясните базовый случай. Сначала предложите своё решение, затем используйте подсказки и сравните рассуждения с разбором.
Автотесты проверяют точный формат вывода: сохраняйте указанные метки, даже если условие переведено. Успех на готовых тестах не доказывает правильность для любого ввода; добавляйте минимальные случаи, границы и отсутствующие значения.
Частые вопросы
Почему код и вывод остаются на английском?
Ключевые слова, идентификаторы и строки, проверяемые тестами, сохранены, чтобы не менять программу. Объяснения и элементы управления переведены.